दृश्य मोड से बाहर निकलने पर विम - देरी


8

यदि मैं कुछ पाठ का चयन करने के बाद विज़ुअल मोड से बाहर निकलने के लिए ESC दबाता हूं, तो पाठ के अचयनित होने से पहले ध्यान देने योग्य विलंब होता है और मैं सामान्य मोड में लौट जाता हूं (भले ही मैं केवल 1-2 वर्णों का चयन करता हूं)। क्या इस देरी से बचा जा सकता है?

vim  delay 

जवाबों:


2

यह कुछ अतिरिक्त कार्यक्षमता के लिए मैप किए जाने के कारण हो सकता है। उदाहरण के लिए, मैं टैबबार प्लगइन का उपयोग करता हूं और नंबर बफर पर स्विच करने के लिए यह 0-9 मैप करता है। जब भी किसी कुंजी को इस तरह की अतिरिक्त कार्यक्षमता के लिए मैप किया जाता है, तो विम को कुछ सेकंड इंतजार करने के बाद यह देखने के लिए दबाया जाता है कि क्या आप किसी अतिरिक्त कुंजी को दबाने जा रहे हैं।

यह देखने के लिए कि क्या कोई अतिरिक्त मैपिंग है, चलाएं :mapऔर <Esc>पहले कॉलम में देखें। जब किसी भी पैरामीटर के बिना भाग गया, :mapतो सभी कस्टम मैपिंग को सूचीबद्ध करेगा। यदि आप दृश्य मोड में केवल मैपिंग को सूचीबद्ध करना चाहते हैं, तो चलाएं :vmap

यदि अतिरिक्त मैपिंग है, तो मैं मैपिंग को हटाने के अलावा, ठहराव को हटाने का कोई तरीका नहीं जानता। विराम के लिए विराम आवश्यक है कि आप यह जान सकें कि आप इसे करने के लिए क्या कार्यवाही करना चाहते हैं।


1
VT100 की तरह टर्मिनलों में (Xterm / Rxvt / PuTTY / GNOME टर्मिनल सहित), Escसभी विशेष कुंजी के लिए उपसर्ग भी है, जिसमें तीर कुंजियाँ भी शामिल हैं।
user1686

@ ग्रेविटी: यह सच है, लेकिन विम, मैपिंग के लिए उन एस्केप सीक्वेंस के लिए अलग-अलग टाइमआउट वैल्यू का उपयोग करता है, इसलिए उन एग्जिट सीक्वेंस को हैंडल करने से आमतौर पर यहां बताई गई समस्या पैदा नहीं होती। देख लो :help 'timeout'
गैरीजोन

धन्यवाद, यह बात है। अब मुझे केवल यह पता लगाना है कि कौन से मैपिंग हैं जो मेरे उपयोग में हस्तक्षेप कर रहे हैं।

0

मेरे पास विश्व स्तर पर या विज़ुअल मोड के लिए <ESC> के लिए कोई मैपिंग नहीं है (कॉलिंग: वर्बोज़ वैम्प <ESC> कोई परिणाम नहीं देता है) लेकिन विजुअल मोड से बाहर निकलने पर अभी भी एक महत्वपूर्ण देरी है। यहां तक ​​कि बिना किसी vimrc के ताजा इंस्टॉलेशन पर भी देरी मौजूद है। <Cc> का उपयोग करना बिना किसी देरी के विजुअल मोड से बाहर निकलता है।

चूँकि मैं किसी भी मोड से बाहर निकलने के लिए <Cc> को दबाना पसंद नहीं करता, इसलिए मैं वर्तमान में दृश्य मोड में <ESC> से <Cc> मैप करता हूँ। यह बिना किसी देरी के <ESC> का उपयोग करके दृश्य मोड से बाहर निकलता है।

:vmap <ESC> <C-c>

या निम्नलिखित लाइन को अपने vimrc में रखें

vnoremap <ESC> <C-c>

यह काम नहीं करेगा यदि आपके पास <ESC> से जुड़ी वैश्विक या दृश्य मोड मैपिंग है।


-2

आप अभी भी क्या कर सकते हैं, विजुअल मोड से बाहर निकलने के लिए CTRL+ का उपयोग कर रहे हैं C, जिससे देरी से बचना चाहिए।

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