Vim

vim マクロの使い方


vim マクロ

vimのドットコマンドはちょっとした変更を繰り返すのに使えました。


vim . ドットコマンドの使い方


しかし、もっとたくさんの変更を繰り返す場合にはドットコマンドでは足りないです。

そこで、マクロを使うことによっていくつもキーストロークを保存し、繰り返すことができます。


使い方


マクロの記録

qキー + 任意のアルファベット(数字も?)」 でマクロの記録を開始します。

ステータス行に「recording」(「記録中」)と表示されたら、記録が開始しています。

記録を終了するにはもう一度qキーを押します。


行末にセミコロン、行頭にvarをつけるマクロを記録してみます。

コマンド
説明

qa
マクロの記録を開始

A;<Esc>
行末にセミコロンを挿入

Ivar <Esc>
行頭にvarの挿入

q
記録の終了

bbb.gif


記録の確認

:reg で記録されているマクロの確認ができます。

:reg a とするとqa で記録したものが確認できます。

g.gif

見え辛いですね、、

:reg a

--- レジスタ ---
"a A;^[Ivar ^[

<Esc>キーは^[で表現されています


マクロの実行

@キー + 記録したアルファベット」でマクロを実行する。

@@ キーで直前に呼び出されたマクロを繰り返します。


行末にセミコロン、行頭にvarをつけるマクロの実行。

コマンド
説明

j
1行下に移動

@a
マクロの実行

j
1行下に移動

@@
直前に呼び出したマクロの実行

aaaaa.gif


インクリメントするマクロ

コマンド
説明

qa
マクロの記録を開始

yy
1行コピー

P
カーソルの下の行にペースト

<Ctrl-a>
インクリメント

q
記録の終了

---
---

@a
マクロの実行

@@
直前に呼び出したマクロの実行

aaaaaaa.gif


まとめ

コマンド
説明

q{任意のアルファベット}
マクロの記録を開始

q
記録の終了

@{記録したアルファベット}
マクロの実行

@@
直前に呼び出したマクロの実行


参考