मैप शिफ्ट + F3 इन .vimrc


14

के साथ vimgrep का उपयोग करते समय lv expr path/**, मुझे परिणामों को नेविगेट करने के लिए एक शॉर्टकट रखना पसंद है। इसलिए मैंने F3निम्नलिखित की तरह की मैपिंग की :

nnoremap <F3> :lnext<CR>

अब मैं निम्नलिखित की तरह कुछ करना चाहूंगा

nnoremap <SHIFT-F3> :lprevious<CR>

लेकिन इसका वांछित प्रभाव नहीं है। मैं एफ-की के साथ कैसे मैप कर सकता हूं SHIFT?

अपडेट करें:

समाधान थोड़ा मुश्किल है। टर्मिनलों में आप बस मैप नहीं कर सकते Shift+ F3। वास्तव में निम्नलिखित की तरह एक अतिरिक्त लाइन आवश्यक है:

set <S-F3>=^[O1;2R
nnoremap <S-F3> :lprevious<CR>

लेकिन आप इसे कॉपी और पेस्ट नहीं कर सकते, नीचे दिए गए लिंक को सही उत्तर में देखें।

जवाबों:


15

आप कंसोल में विम का उपयोग कर रहे हैं, जीवीआईएम नहीं, सही? सादे फ़ंक्शन कुंजियों के अलावा कुछ भी समस्याग्रस्त है, और सबसे अच्छा बचा है; <Leader>इसके बजाय उपसर्ग का उपयोग करने का प्रयास करें । यदि आप वास्तव में ऐसा चाहते हैं, तो आप काम करने के लिए संशोधक के साथ फ़ंक्शन कुंजियाँ प्राप्त करने के लिए http://vim.wikia.com/wiki/Mapping_fast_keycodes_in_terminal_Vim पर निर्देशों को आज़मा सकते हैं।


वह लिंक बहुत मददगार था, मुझे इस तरह की समस्या की उम्मीद नहीं थी। हालाँकि यह वह उत्तर नहीं है जिसे मैं पढ़ना चाहता था, यह मेरी राय में सही उत्तर है। और तेजी से कुंजी कोड के साथ सलाह का पालन करते हुए, मैं कुंजी संयोजन को वांछित के रूप में मैप कर सकता हूं।
ट्रेंडफिशर

7

यह <S-F3>नहीं होना चाहिए <SHIFT-F3>, :help key-notationविम में देखें ।


हां, यह वह उत्तर है जो मैं चाहता था, लेकिन यह इस तरह से काम नहीं करता था। आपको इसकी आवश्यकता है: इसे काम करने के लिए एक टर्मिनल में सेट करें।
ट्रेंडफिशर

0

आजकल कार्यात्मक कुंजियों के लिए अतिरिक्त कीकोड सेट करना आवश्यक नहीं है, आपको बस इसकी आवश्यकता है:

nnoremap <s-f3> :lprevious<cr>

NeoVim पर परीक्षण किया गया।

कोई व्यक्ति इसे साफ VIM पर आज़माएं ताकि मैं इस उत्तर को अपडेट कर सकूं।

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