विम: वर्तमान लाइन के ऊपर खाली लाइन डालें (खुला नहीं है, अर्थात इन्सर्ट मोड डाले बिना)


21

क्या वर्तमान के ऊपर एक नई लाइन डालने का एक तरीका है, लाइन को खोले बिना (इसलिए इन्सर्ट मोड में प्रवेश किए बिना)? यही है, "ओ" की तरह, लेकिन बिना खुलने के।


2
"लाइन खोलने" का क्या अर्थ है?
मत्तेयो रीवा

"एक लाइन खोलने" का अर्थ है मोड डालने के लिए सामान्य मोड, जो तब होता है जब आप "ओ" (ओह) दबाते हैं।
tmadsen

जवाबों:


9

मैं टिम पोप के प्लगइन का उपयोग नहीं करता हूं जो कि इस उद्देश्य के लिए विशेष रूप से एक कमांड है:

[<space>

और यदि आप उस लाइन के बाद एक स्थान जोड़ना चाहते हैं जिस पर आप हैं:

]<space>


29

आपके अनुरोध की परिभाषा है O

तार्किक रूप से जब ऊपर एक नई लाइन सम्मिलित होगी O

क्यूरर से पहले डालने के लिए: i
बाद: a
लाइन से पहले (घर): I
लाइन के अंत में संलग्न करें:A

निकटतम मुझे लगता है कि आप आएंगे Iजो कर्सर को लाइन की शुरुआत में रखेगा।


शायद मैं स्पष्ट नहीं था। परिदृश्य यह है: मैं सामान्य मोड में हूं और सामान्य मोड में रहने के दौरान मैं जिस पर हूं, उसके ऊपर एक रिक्त रेखा सम्मिलित करना चाहता हूं। "O" दबाने से मुझे इन्सर्ट मोड में डाल दिया जाता है। शायद ऐसा करने का कोई तरीका नहीं है और यह ठीक है, बस सोचा था कि मैं पूछूंगा :)
tmadsen

3
बस इसे मैप करें,m`O+Esc`
जोश के

1
अच्छा विचार, इस पर विचार नहीं किया गया था। क्या a: noremap <नेता> O O <ESC>
tmadsen

2tmadsen: आप इसे <yourkey> O <ESC>
Dzung Nguyen

9
:h append()

यह कर्सर को स्थानांतरित नहीं करेगा, यह आपको आपकी इच्छानुसार कई लाइनें (खाली या नहीं) डालने देगा, और यह पिछली स्थिति के निशान को संशोधित नहीं करेगा।

call append(line('.')-1, '')

हाँ, यह +1 साफ है! / मुझे उसके vimrc बदल
akira

जब स्क्रिप्टिंग की बात आती है, तो इसके कुछ फायदे मिलते हैं। यह अन्यथा टाइप करने के लिए थोड़ा overkill है।
ल्यूक हरमिट

एक समाधान के लिए +1 जो बिना किसी सेट के काम करता हैformatoptions
मीका स्मिथ

5

आप जिस भी कुंजी या प्रमुख अनुक्रम को पसंद करते हैं, उसे मैप कर सकते हैं

m`O<ESC>``

यह आपको सामान्य मोड में और कर्सर की स्थिति को बदले बिना वर्तमान के ऊपर एक रिक्त रेखा सम्मिलित करता है।


इसलिए इसे Alt-O में मैप करने का कमांड होगा: मैप <Mo> m`O <ESC> ``
K रॉबिन्सन

यह सही है।
मत्तेयो रीवा

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