vim のレジスタで操作を記録すると、レジスタの内容に制御文字があることがわかりました (レジスタ 'q' など):
o^[iabc^[
もちろん、vim で '@q' を実行すると、改行して 'abc' を挿入し、通常モードに戻ることができます。しかし、「abc」を「def」に置き換えたり、「abc」の後に「def」を追加したりするにはどうすればよいですか?
vim のレジスタで操作を記録すると、レジスタの内容に制御文字があることがわかりました (レジスタ 'q' など):
o^[iabc^[
もちろん、vim で '@q' を実行すると、改行して 'abc' を挿入し、通常モードに戻ることができます。しかし、「abc」を「def」に置き換えたり、「abc」の後に「def」を追加したりするにはどうすればよいですか?
romainlの回答に従って貼り付けて切り取る代わりに(バッファにスクラッチスペースが必要です)、多くの場合、コマンドラインで直接編集することもできます:
:let @q = <C-r><C-r>=string(@q)<CR>
マクロはレジスターに保存され、レジスターにヤンクしたりレジスターから入れたりできます。
"qp
(edit the line)
"qy$
この行も必要に応じて機能します。
:let @q=substitute(@q, 'abc', 'abcdef','')