Vimで編集するときに、現在の行の下または上に空白行を挿入する必要があることがよくあります。 o
とO
はこれを行いますが、その後、挿入モードに切り替わり、煩わしいです。これを行う組み込みコマンドはありますか?これは通常モードのままです?
Tim Popeの nmpaired plugin と私自身の LineJugglerプラグイン の両方が[<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>
私はこれらを使用しています
map <Enter> o<ESC>
map <S-Enter> O<ESC>
私の.vimrc
長年。
Enterを押すと現在の下に空白行が挿入され、Shift + Enterを押すと上に挿入されます。
上または下に行を挿入するさらに別の方法:
nnoremap <Enter> :call append(line('.'), '')<CR>
nnoremap <S-Enter> :call append(line('.')-1, '')<CR>
Romainl氏とShunz氏の解決策は、カーソルを新しく挿入された行に移動しますが、これとIngo Karkatの解決策は、カーソルを同じ位置に保ちます。
いいえ、そのための組み込みコマンドはありません。
これらのマッピングはあなたが望むことをします:
nnoremap <leader>o o<Esc>
nnoremap <leader>O O<Esc>