web-dev-qa-db-ja.com

挿入モードに入ることなく改行を挿入、vim

Vimを使用して通常モードで改行を挿入したい Shift-Enter そして Ctrl-EnterVim Wikia-挿入モードに入らずに改行を挿入 からいくつかのソリューションとソリューションを試します Shift-Enter そして Ctrl-Enter 応答しませんでした:

" put a new line before or after to this line
nnoremap <S-CR> m`o<Esc>``
nnoremap <C-CR> m`O<Esc>``

" reverse J command
nnoremap <C-J> vaW<Esc>Bi<CR><Esc>k:s/\s\+$//<CR>$
59
helq

私の代替方法は、oo(またはOO)を使用して、このマッピングで現在の下に(または上に)新しい行を挿入することです:nmap oo o<Esc>k(それぞれnmap OO O<Esc>j

53
TKrugg

空の行をヤンクして、それをシフトペーストします:

空行のカーソルで開始:

yy + (shift + p)

「yy」は行をヤンクし、「shift + p」は挿入モードに入らずに下に挿入します。

10
Rasmus Larsen

キーボード入力が内部的に処理される方法により、残念ながら今日ではこれは一般的に不可能です。 (ただし、この特定のケースはGVIMで動作するはずです。) Ctrl + non-alphabetic マッピングできない Ctrl + letter 対 Ctrl + Shift + letter 区別できません。 (端末が個別のtermcapコードを送信しない限り、ほとんどはそうしません。)挿入モードまたはコマンドラインモードで、キーの組み合わせを入力してみてください。何も起こらない/挿入される場合、そのキーの組み合わせを使用することはできません。これは、<Tab>/<C-I><CR>/<C-M>/<Esc>/<C-[>などにも適用されます(例外は<BS>のみです)/<C-H>。)これは既知の問題点であり、vim_devおよび#vim IRCチャンネルに関するさまざまな議論の主題です。

一部の人々(最前のPaul LeoNerd Evans)はそれを修正したい(これをサポートする端末のコンソールVimでも) さまざまな提案 を浮かび上がらせた。

しかし、現在のところ、パッチやボランティアはまだ出ていませんが、多くの人が将来のVim 8メジャーリリースでこれを使用したいという要望を表明しています。

9
Ingo Karkat

これは私が使用するものです:

nmap <CR> :a<CR><CR>.<CR>

私は試した nmap <CR> o<Esc>が、挿入モードに切り替えてから戻ると、UIがグリッチになりました。

1
Erik B

:s/\ n/\ r\r/gを使用します(改行を2つの改行で置き換えます。これは "o"と同じです)。

1
malcolm