विम में, मैक पर लाइन के अंत और लाइन की शुरुआत के लिए "कमांड-राइट" और "कमांड-लेफ्ट" कैसे मैप करें?


10

मैं इसे मैक में डिफ़ॉल्ट टेक्स्ट एडिटिंग की तरह लाने की कोशिश कर रहा हूं। मैंने कोशिश की map! <D-Left> 0 और map! <D-Right> $ ~ / .vimrc में, लेकिन निश्चित रूप से यह काम नहीं किया। मैं यह कैसे कर सकता हूँ?

जवाबों:


9

जहाँ तक मुझे पता है, कमांड कुंजी संशोधक सिंटैक्स ( <D-...>) केवल OS X पर विम के GUI- मोड उदाहरणों में प्रभावी है।

विम उदाहरण जीयूआई-आधारित होना चाहिए क्योंकि ज्यादातर टर्मिनल emulators ( टर्मिनल , iTerm , आदि), कमांड कुंजी संयोजन के लिए नियंत्रण दृश्यों उत्पन्न नहीं है इसलिए की एक tty-केवल उदाहरण विम कोई रास्ता नहीं पता है कि एक कमांड कुंजी संयोजन कभी था है दबाया गया (टर्मिनल एम्यूलेटर कभी भी टैटी इंटरफ़ेस में कुछ भी नहीं भेजता है)। वास्तव में, टर्मिनल अपनी खुली खिड़कियों के माध्यम से साइकिल चलाने के लिए-←, और Command → (कमांड-लेफ्ट और -Right) बांधता है, इसलिए जब आप टर्मिनल के संदर्भ में टाइप कर रहे होते हैं तो वे कुंजी "पहले से ही ली जाती हैं" ।

मैकविम (जब जीयूआई मोड में चलाया जाता है) अन्य मैक शैली कीस्ट्रोक्स के लिए<D-Left>और<D-Right>(क्रमशः, से<Home>(लगभग समान0) और<End>(समान$)) केलिए कार्यात्मक मैपिंग के साथ आता है। एक चेतावनी यह है कि ये डिफ़ॉल्ट मैपिंग में स्थापित हैं$VIM/gvimrc, इसलिए वे केवल आपके~/.gvimrc से ठीक से ओवरराइड कर सकते हैं।

मुझे लगता है कि मैक ओएस एक्स के लिए विम के अन्य जीयूआई-आधारित संस्करण हैं , लेकिन मैकविम एकमात्र आधुनिक की तरह लगता है।

मोटे तौर पर, स्टार्टअप फ़ाइलों इस क्रम में संसाधित कर रहे हैं: $VIM/vimrc, ~/.vimrc, $VIM/gvimrc, ~/.gvimrcमैकविम के $VIM/gvimrcनक्शों के बाद से <D-Left>, आपको अपनी मैपिंग <D-Left>(यदि आप वास्तव में इसे ओवरराइड करना चाहते हैं) में डालनी होगी, ~/.gvimrcताकि उसमें "अंतिम रूप" लिखा हो।


धन्यवाद। मैं iTerm 2 की कोशिश की, यह उस के साथ काम किया, लेकिन अभी भी ... क्या दर्द ... मेरे जीवन में वापस स्वागत है, Xcode
मार्टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.