Vimのマクロの登録、編集が簡単にできる方法を見つけたのでメモ。
マクロ登録
マクロは結局のところレジスタにノーマルモードでのキー入力となる文字列を記憶させているだけなので、レジスタ指定でヤンクしてあげれば書いたコマンドをそのまま登録できるじゃないかと気づきました。
- 新規バッファにキー入力を書く
- 例えば
:s/foo/bar/g
とか
- 例えば
- ビジュアルモードで選択して
"ay
でレジスタにヤンク(例ではaレジスタに保存) @a
でマクロ実行できる
行選択モードで改行まで選択範囲に含めれば、<CR>
まで含んだ形で登録できます。
マクロ編集
編集もいったんレジスタから書き出して編集、再登録とするのがわかりやすい。
- インサートモードで
<C-R>a
でaレジスタから現在登録されているマクロを書き出し - 編集
- ビジュアルモードで選択して
"ay
でレジスタにヤンク @a
でマクロ実行できる
コマンドでも実装しようかと思って試してたらできたので目から鱗でした。
以上です。