विम में, मैं <Ctrl> i> को कैसे हटाए बिना भी <tab> रीमैप कर सकता हूं?


14

मुझे विभाजित खिड़कियों के बीच कूदने के लिए टैब का उपयोग करना पसंद है, इसलिए मेरे पास map <tab> <C-W><C-W>मेरे .vimrc में है। फिर भी मैंने देखा कि यह ऐसा बनाता है कि Ctrl + I अब Ctrl + I के रूप में व्यवहार नहीं करता है, लेकिन Ctrl + W, Ctrl + W के रूप में। मैं अभी कैसे रिमैप कर सकता हूं <tab>लेकिन नहीं <C-i>?

जवाबों:


10

जिस तरह से कीबोर्ड इनपुट आंतरिक रूप से संभाला जाता है, यह दुर्भाग्य से सामान्य रूप से आज भी संभव नहीं है, यहां तक ​​कि जीवीआईएम में भी। जैसे कुछ कुंजी संयोजन, Ctrl+ गैर-वर्णमाला मैप किया जा सकता है, और Ctrl+ पत्र बनाम Ctrl+ Shift+ पत्र पहचाना नहीं जा सकता। (जब तक कि आपका टर्मिनल इसके लिए एक अलग टर्मकैप कोड न भेज दे, जो सबसे अधिक नहीं है।) सम्मिलित या कमांड-लाइन मोड में, कुंजी संयोजन टाइप करने का प्रयास करें। यदि कुछ नहीं होता है / डाला जाता है, तो आप उस कुंजी संयोजन का उपयोग नहीं कर सकते। यह भी <Tab>/ <C-I>, <CR>/ <C-M>/ <Esc>/ <C-[>आदि पर लागू होता है (केवल अपवाद है <BS>/ <C-H>।) यह एक ज्ञात दर्द बिंदु है, और vim_dev और #vim IRC चैनल पर विभिन्न चर्चाओं का विषय है।

कुछ लोग (सबसे महत्वपूर्ण पॉल लियोनर्ड इवांस) इसे ठीक करना चाहते हैं (यहां तक ​​कि टर्मिनलों में कंसोल विम के लिए भी इसका समर्थन करते हैं), और विभिन्न प्रस्तावों, सी.पी. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

लेकिन आज तक, कोई भी पैच या स्वयंसेवक अभी तक आगे नहीं आया है, हालांकि कई लोगों ने भविष्य के वीएम 8 रिलीज में इसकी इच्छा व्यक्त की है।


1
क्या इस कीकोड मैपिंग / मान्यता समस्या का समाधान विम 8 में किया गया था, अब (वर्ष 2017) के रूप में? मुझे लगता है कि मैं अभी भी जॉन के उदाहरण को अपने विम 8.0
लेलिफ़ेंग

@llinfeng: नहीं, दुर्भाग्य से नहीं। ब्रैम वर्तमान में एक टर्मिनल को विम में एकीकृत करने पर काम कर रहा है; ऐसा लगता है कि पॉल इवांस द्वारा निर्मित एक पुस्तकालय का उपयोग करने के लिए, इसलिए शायद यह अंततः संभाला कुंजी पर एक सुधार के लिए नेतृत्व करेंगे, भी। (लेकिन यह इस समय शुद्ध अटकलें हैं।)
इंगो करकट

0

विशेष रूप से अगर यह एक टर्मिनल के तहत है, तो सभी शॉर्टकट संभव नहीं हैं। मैं उस उद्देश्य के लिए टैब शॉर्टकट का उपयोग करने की अनुशंसा नहीं करता हूं। लेकिन एक वैकल्पिक समाधान निम्नलिखित हो सकता है:

" Note: Allows faster switching between windows with "Ctrl+w"! By Questor
nnoremap <silent> <C-w> <C-w><C-w>
inoremap <silent> <C-w> <Esc><C-w><C-w>
vnoremap <silent> <C-w> <Esc><C-w><C-w>

Https://github.com/eduardolucioac/groovim/blob/master/.vimrc में उपयोग का एक उदाहरण देखें

[] के

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