विम में एक खाली लाइन डालने?


25

मुझे अक्सर लगता है कि मुझे विम में एडिट करते समय करंट लाइन के नीचे या ऊपर एक ब्लैंक लाइन डालने की जरूरत है। oऔर Oऐसा करेंगे, लेकिन वे बाद में सम्मिलित मोड में बदल जाते हैं, जो कष्टप्रद है। क्या ऐसा करने के लिए कोई अंतर्निहित कमांड है जो सामान्य मोड में रहेगी?

जवाबों:


10

दोनों टिम पोप के अनइम्पेयर किए गए प्लगइन के साथ-साथ मेरे स्वयं के लाइनजगलर प्लगइन प्रदान करते हैं [<Space>और वर्तमान लाइन के ऊपर / नीचे रिक्त लाइनों ]<Space>को जोड़ने के लिए मैपिंग करते हैं [count]

असल में, यह इसके लिए उबलता है:

nnoremap <silent> ]<Space> :<C-u>put =repeat(nr2char(10),v:count)<Bar>execute "'[-1"<CR>
nnoremap <silent> [<Space> :<C-u>put!=repeat(nr2char(10),v:count)<Bar>execute "']+1"<CR>

मैं अब इसका उपयोग करता हूं, इसलिए मैंने इसे "सही" समाधान के रूप में चिह्नित किया है; लेकिन यहाँ सभी जवाब बहुत अच्छे हैं।
एंड्रयू फेरियर

महान टिप, हालांकि मैंने मानचित्र बनाना पसंद किया <Space>oऔर <Space>Oइसके बजाय।
simlev

26

मैं इनका उपयोग कर रहा हूं

map <Enter> o<ESC>
map <S-Enter> O<ESC>

मेरे .vimrcवर्षों में।

प्रेस दर्ज करें वर्तमान, नीचे एक रिक्त पंक्ति सम्मिलित करने के लिए Shift + Enter ऊपर डालने के लिए।


मैं इस सही को चिह्नित कर रहा हूं क्योंकि यह सबसे सरल समाधान है, हालांकि ये सभी उत्तर अच्छे हैं।
एंड्रयू फेरियर

बहुत आसन! यह स्वीकृत उत्तर होना चाहिए!
शेहरार

यदि आप नहीं चाहते हैं कि जब आप Enter को हिट करें तो कर्सर kपहले नक्शे jके अंत में और दूसरे नक्शे के अंत में चला जाए।
2:27 बजे ज़ोंडो

1
ध्यान दें कि Shift-Enter का मानचित्रण केवल GUI संस्करण के साथ काम करता है, न कि टर्मिनल संस्करण। stackoverflow.com/questions/16359878/vim-how-to-map-shift-enter
ishmel

7

फिर भी ऊपर या नीचे की लाइनें डालने का एक और तरीका:

nnoremap <Enter> :call append(line('.'), '')<CR>
nnoremap <S-Enter> :call append(line('.')-1, '')<CR>

ध्यान दें कि रोमैनल और श्री शुनज़ का समाधान कर्सर को नई सम्मिलित पंक्ति में ले जाएगा, जबकि यह और इंगो करकट से भी कर्सर को उसी स्थान पर रखेगा।


1

नहीं, इसके लिए कोई अंतर्निहित कमांड नहीं है।

ये मैपिंग आप क्या चाहते हैं:

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