vim: एक मैप किए गए कीस्ट्रोक के खिलाफ टैब पूरा करने वाली कुंजी भेजना


2

किसी भी प्लगइन्स को स्थापित किए बिना बफ़र्स के बीच स्विच करने के लिए, एक अच्छा तरीका टाइप करना है

:b <tab>

जो स्टेटस बार में सभी वर्तमान बफर नामों को दिखाता है और आप कर्सर कुंजियों का उपयोग करके एक को चुन सकते हैं और दर्ज कर सकते हैं।

लेकिन: b & lt; टैब & gt; 5 कीस्ट्रोक्स है और मैं इसे & lt; लीडर & gt;

लेकिन निम्नलिखित सेट करना काम नहीं कर रहा है।

:nnoremap <Leader>. :b <Tab>

यह स्थिति बार में ": b ^ I" दिखाता है और वास्तव में स्थिति बार पर बफर नामों को नहीं खोलता है।

किसी को पता है क्यों?


buffers (नोट 's') कमांड बफ़र्स को सूचीबद्ध करता है, जबकि buffer (कोई 's') कमांड, जब इसे एक विकल्प दिया जाता है, तो यह बदल जाएगा कि विंडो में कौन सा बफर दिखाया गया है।
lornix

जवाबों:


3

आपको सेट करने की आवश्यकता है wildcharm सेटिंग। इसे इस्तेमाल करे:

set wildcharm=<Tab>
nnoremap <leader>. :b <Tab>

कम से कम यहां काम करता है।


वाह! धन्यवाद। मैंने इसके बारे में कभी नहीं सुना / पढ़ा है।
romainl

हाँ! यह तय है कि !!! मैकबुक पर OSX। धन्यवाद:-)
CDR

1

मुझे लगता है कि इसका कुछ करना है <tab> के लिए एक वास्तविक तर्क नहीं किया जा रहा है :b

यदि आप टैब को छोड़ते हैं, तो अंदर nnoremap <leader>. :b<space> आप हिट कर सकते हैं <tab> मेनू पाने के लिए।

आप मेनू को बुलाने के लिए 3 कीस्ट्रोक्स के नीचे हैं, लेकिन आपको अभी भी हिट करना पड़ सकता है <tab> सही बफर और हिट का चयन करने के लिए अधिक समय <CR>। यदि आप 1 बफ़र चाहते हैं तो यह न्यूनतम 4 कीस्ट्रोक्स है, लेकिन यदि आप 7 वें या 12 वें बफ़र चाहते हैं तो क्या होगा?

क्या मैं दूसरा रास्ता सुझाऊं?

nnoremap <leader>. :ls<CR>:b<Space>

इस मैपिंग के साथ, बफ़र्स की एक सूची ( :ls ) प्रदर्शित है और :b कमांड शुरू किया जाता है, तर्क के रूप में एक बफर नंबर की प्रतीक्षा कर रहा है। वह 4 कीस्ट्रोक्स है ( ,.5<CR> ), जो भी बफर आप कूदना चाहते हैं (ठीक है, अगर आपके पास 10 या अधिक बफ़र्स हैं जो 5 कीस्ट्रोक्स होंगे लेकिन आपको बिंदु मिलता है)।

मैं नहीं जानता कि कैसे आप इसे एक कुंजी (जैसे) मैपिंग के साथ छोटा बना सकते हैं <F11> जो कुछ भी)।

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