第 7 章:Vim のマクロ
マクロは Vim(そしてほかのエディタ)における、少し高度なテーマです。ここまでの章を 身につけたなら、すでに Vim を十分使いこなしています。さらに一段進みましょう。
前の章でテキストを配列に変換した例を覚えていますか。今度は同じ 処理をマクロで行います。
14ggで処理開始行へジャンプし、指示に従ってください。まず結果を確認し、 その後で仕組みを説明します。
javascript
var myArray = [
qa でマクロ記録を開始し、I<single quote><Esc>A<single quote><comma><Esc>jq7@a と入力
私も
私も
私も
私も
私も
私も
私も
];何が起きたのでしょう。一瞬で前章の二つのブロック操作と同じ結果になりました。 最後の行末にあるカンマを削除し、全体をインデントすれば完成です。
先ほどの操作を説明します。
qでマクロ記録を開始し、aで記録先を指定します。記録先には 0–9 または a–z を使用できますI<single quote><Esc>A<single quote><comma><Esc>jが記録した一連の操作です。 行頭にシングルクォートを挿入し、行末にシングルクォートとカンマを挿入して、 次の行へ移動します- 続けて
qを押すとマクロ記録を終了します @はマクロを呼び出し、aは呼び出すマクロの名前(記録先)です。先頭の7は この操作を 7 回実行することを意味します
ヒント:@@ を押すと、最後に実行したマクロをもう一度呼び出します。
これで Vim の基本操作は一通り完了です。しかし Vim を本当に自在に扱うには、さらに いくつかの「内功」を学ぶ価値があります。編集範囲を正確に選ぶテキストオブジェクト、 コピーと貼り付けを制御するレジスタ、コード内に足跡を残すマークとジャンプ、そして 複数ファイルの一括操作です。次の章から順に学びます。
次の章ではテキストオブジェクトを紹介します。