5 に答える
私から~/.vimrc:
nnoremap <leader>d "_d
vnoremap <leader>d "_d
d最初のインddをに置き換えるだけ<leader>dです。これで鍵が 1 つ減ります。
例:
4,dd
,dt:
Vjj,d
次のコマンドでに再マップdします。"_d
nnoremap d "_d
vnoremap d "_d
dこれにより、ノーマル モードとビジュアル モードのが再マップされます。コマンドを呼び出す他のマッピングまたは関数がある場合は、調整する必要があります。そうしないと、新しいマッピングではなくdデフォルトが呼び出されます。d"_d
別の解決策は、"0レジスタを使用することです。ヤンクしたものはデフォルトレジスタと同様にそこに保存されるので、行を削除した後にそれを使用できます。
したがって、次のようにします。
yy # Yank your line
p # put the yank
dd # delete a line
"0p # put the yank
よりユーザーフレンドリーなヤンクおよびパッティング機能については、YankRing プラグインのようなものを使用できます。YankRing を更新して、あなたが探していた機能を実装することも可能かもしれません。
つまり、基本的に、もう一度"_dd押すことなく繰り返したいですか?"_
を使用するだけ.で、最後の編集シーケンス全体が繰り返されます。たとえば、これは両方の「Hello」行を次のように削除し_ます。
/Hello
"_dd
N.
あなたの質問の最初の部分に答えるために、"_d$(行末まで削除、ブラックホールレジスタに削除)はそのままで完全に有効です"_d/foo<enter>。これは、「カーソルから「foo」の最初の出現の先頭まで削除し、ブラックホールドレジスタ」。