同じ動作を何度も繰り返す作業って面倒くさいですよね。何とか自動化できないかと考えるものだと思います。Vimエディタのマクロは、繰り返し作業の自動化に大いに役に立ってくれる機能です。
この記事では、Vimエディタのマクロ機能の使い方について解説します。マクロの記録から編集・実行、削除方法まで紹介するので、参考にしてみて下さい。
Vimエディタのバージョンは8.1を利用しています。
マクロの記録方法
Vimでマクロの記録を開始するには、次の手順で操作します。
- ノーマルモードの状態で、「q」キーと「任意のアルファベット1文字」を入力します。
- マクロの記録が開始します。記録中はステータス行に「記録中」と表示されています。
- マクロに記憶する操作を行います。
- もう一度「q」キーを押すと記録を終了します。「記録中」の文字が消えます。
以上で、マクロを記録して作成することができます。
記録例
例として、カーソル行の数値を1ずつ増加させるマクロを記録します。
- 「qa」キーを入力してマクロの記録を開始します。
- 記録したい手順を実行します。例では次の操作を記憶しました。
- 「yy」キーを入力して1行コピー
- 「p」キーを入力してカーソルの下の行にペースト
- 「3l」キーを入力して右に3文字分移動する
- 「Ctrl」+「a」キーにより変数名の数値を1だけ増加させる
- 「q」キーを入力してマクロの記録を終了します。
以上の手順で、マクロaにカーソル行の数値を1ずつ増加させるマクロが記録できました。
マクロの閲覧方法
記録したマクロを閲覧するには、次のコマンドを実行します。
:reg 任意のアルファベット
「:reg a」と入力すると「qa」コマンドで記録したマクロを閲覧することができます。
マクロの編集方法
記録したマクロは、以下の方法で編集することができます。
- 「:let」コマンドを以下のように入力します。
:let @任意のアルファベット='
- 「:let」コマンドはVim上で変数を定義するコマンドで、マクロが入っている変数の中身を書き換えようとしています。
- 任意のアルファベットには、記録時に利用したアルファベット1文字を入力します。
- 以下のキーを入力して、マクロの記録内容を呼び出します。
- 「Ctrl」+「r」+「記録に利用したアルファベット」
- マクロで記録した内容がペーストされます。
- 修正したい部分を書き換えます。最後に書き換えた内容をシングルクォートで閉じます。
:let @a='マクロの内容'
- 例では、1ではなく2増加するように書き換えてみます。
- 例では、1ではなく2増加するように書き換えてみます。
- 「Enter」キーを入力して編集内容を保存します。
- 「:reg」コマンドで確認すると、マクロの内容が変更されていることがわかります。
マクロの実行方法
記録したマクロを実行するには、次のコマンドを実行します。
@マクロを記録した任意のアルファベット
- 「@@」と連続で入力すると、直前に呼び出されたマクロの実行を繰り返すことができます。
- 「10@a」のように数値を指定して繰り返し実行することもできます。
作成した例のマクロを実行すると、以下のように数字を増加した文字列が自動入力できました。
マクロの削除方法
記録したマクロを削除するには、マクロの編集と同じ方法でマクロが記録されている「アルファベット」の変数を何もない状態にします。
以下のコマンドを実行します。
:let @アルファベット=''
Vimエディタを再度起動して「:reg」コマンドで確認すると、マクロが残っていないことがわかります。
以上、Vimエディタでマクロを記録して編集・実行する方法でした。
コメント