Vim'de boş bir satır ekleme


25

Sık sık vim'de düzenleme yaparken geçerli satırın altına veya üstüne boş bir satır koyma ihtiyacım olduğunu görüyorum. ove Obunu yapacaklar, ancak daha sonra can sıkıcı olan insert moduna geçerler. Bunu yapmak için normal modda kalacak herhangi bir yerleşik komut var mı?

Yanıtlar:


10

Hem Tim Papa'nın zarar görmemiş eklentisi yanı sıra kendi LineJuggler eklentisi sağlamak [<Space>ve ]<Space>eşleştirmeleri eklemek için [count]yukarıdaki boş satırlar / akım sınırının altında.

Temel olarak, bu aşağı kaynar:

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>

Şimdi bunu kullanıyorum, bu yüzden bunu "doğru" çözüm olarak işaretledim; ama buradaki tüm cevaplar harika.
Andrew Ferrier

Büyük ipucu, harita <Space>ove <Space>Oyerine tercih etsem de.
simlev

26

Bunları kullanıyorum

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

.vimrcyıllarca benim .

Basın Enter geçerli olmak üzere aşağıda bir boş satır eklemek için Enter Shift + yukarıda eklemek için.


Tüm bu cevaplar iyi olsa da, bu çözümü en basit çözüm olduğu için işaretliyorum.
Andrew Ferrier

Çok basit! Bu kabul edilen cevap olmalı!
Sheharyar

İmlecin Enter tuşuna bastığınızda hareket etmesini istemiyorsanız, kilk haritanın jsonuna ve ikinci haritanın sonuna koyun .
zondo

1
Shift-Enter eşlemesinin terminal sürümünü değil, sadece vim'in GUI sürümüyle çalıştığını unutmayın. stackoverflow.com/questions/16359878/vim-how-to-map-shift-enter
ishmael

7

Aşağı veya yukarı satır eklemenin yine başka bir yolu:

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

Romainl ve Bay Shunz'in çözümünün imleci yeni eklenen çizgiye götüreceğini, oysaki Ingo Karkat'tan gelenlerin imleci aynı noktada tutacağını unutmayın.


1

Hayır, bunun için yerleşik bir komut yok.

Bu eşlemeler istediğinizi yapar:

nnoremap <leader>o o<Esc>
nnoremap <leader>O O<Esc>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.