<Esc> O पर गति टकराएं (कर्सर के ऊपर नई लाइन डालने के लिए सामान्य में सम्मिलित करें)


16

अक्सर जब मैं इन्सर्ट मोड में होता हूँ, तो मैं Escनॉर्मल मोड में पहुँच जाता हूँ , और फिर तुरंत Oकर्सर के ऊपर एक नई लाइन शुरू करने के लिए हिट करता हूँ और वहाँ इन्सर्ट मोड में जाता हूँ।

लेकिन जब मैं ऐसा करता हूं, तो Oइससे पहले कि मुझे कोई प्रतिक्रिया दिखाई दे , मैं हिट करने के बाद 1 सेकंड की देरी करता हूं । इसके अलावा अगर मैं, कि 1 सेकंड के विलंब के दौरान नए पाठ लिखने नया पाठ पात्रों में से एक निश्चित निर्धारित से किसी के साथ शुरू होता है, तो शुरू हो (उदाहरण के लिए j, k, m, n, o), मैं कुछ अन्य आपरेशन मैंने नहीं किया के बीच में खत्म इरादा, अक्सर एक गड़बड़ कर रहा है, जिस बिंदु पर मुझे पूर्ववत करना और फिर से बंद करना पड़ता है जब तक कि मैं यथोचित रूप से सुनिश्चित नहीं हूं कि मैंने क्षति को कम कर दिया है।

उस अप्रियता से बचने के लिए, मैं हर बार टाइप करने के बाद एक सेकंड के लिए रुकने की आदत डाल लेता हूं O। लेकिन यह मुझे धीमा कर देता है और मुझे गति को राक्षस होने से रोकता है अन्यथा मैं नहीं होता।

इसका क्या कारण है? क्या कोई फिक्स या वर्कअराउंड है?

जवाबों:


15

यह केवल टर्मिनल में होता है, लेकिन जीवीआईएम में नहीं, है ना? कारण यह है कि विम व्यक्तिगत प्रकार की कुंजियों और एक ANSI एस्केप अनुक्रम के बीच समान कुंजियों से शुरू नहीं कर सकता है (यानी ^[O..., आपके मामले में <Esc>इसके बाद O)।

आप :help 'timeout'(और निम्नलिखित विकल्पों पर) सभी अंतर्निहित जटिलताओं के बारे में पढ़ सकते हैं । वहाँ आपको एक सुझाया कॉन्फ़िगरेशन भी मिलता है जो समस्या को कम करता है:

:set timeout timeoutlen=1000 ttimeoutlen=100

3
आप भी उपयोग कर सकते हैं set noesckeys; हालाँकि, तीर मोड (और शायद कुछ अन्य कुंजियाँ?) को मोड में डालने का साइड इफ़ेक्ट है, हालाँकि यह सभी के लिए नहीं हो सकता है।
मार्टिन टूरनोइज

2
@Carpetsmoker "सेट noesckeys" के बारे में ... जो काम करता है, लेकिन केवल अगर इन्सर्ट मोड में। मुझे पता है कि मैंने कहा कि मैं डालने के लिए मोड में था; हालाँकि मैं भी अक्सर करता हूँ <Esc> O सामान्य मोड से शुरू होता है (मुख्यतः जब मैं 100% सुनिश्चित नहीं हूँ कि क्या मैं इन्सर्ट या नॉर्मल मोड में शुरू कर रहा हूँ) तो मैं उस मामले में भी काम करना चाहूँगा।
डॉन हैच

1
@ डॉन्चैच आप उपयोग कर सकते हैं :nnoremap ^[O O, जहां ^[दबाकर प्रवेश किया जाता है <C-v><Esc>(यह भी दिखा सकता है <1b>)।
मार्टिन टूरनोइज

5

वर्कअराउंड के रूप में, के बजाय + का ESCOउपयोग करें । + एक आदेश के लिए सामान्य मोड में डालता है आप, तो आप मोड जब यह किया जाता है सम्मिलित करने के लिए देता है।ControlOOControlO


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