[VimT] マクロ

キーから入力される一連の操作を繰り返す。 想定時間: 10分

ドットコマンドは挿入モードから抜けたら終わりです。
挿入と編集を組み合わせた処理を繰り返すことができません。

マクロはそれができます。自由自在!!🤜

マクロの流れ

まずはやってみましょう。
以下の文に項番を付けます。

No コマンド 意味
1 i1.<space><ESC>^ 準備
2 qqyf<space>jP^<C-a>q 記録
3 @q 記録したマクロの再生
4 2@@ 記録したマクロを2回再生
▼
aras
karas
citrus
tagayasu
yatagarasu

記録

マクロの記録は以下の流れでします。

  1. q<register>で記録開始
  2. 好きな操作をする
  3. qで記録終了

<register>には小文字のアルファベットをよく使います。
上の例では<register>qを使いました。

マクロに記録された内容はExコマンドでreg <register>と確認できます。
先ほどの例だと以下のような表示になります。

:reg q
--- レジスタ ---
"q   yf jP^^A

実行

マクロの実行は以下の様にできます。

コマンド 意味
@<register> <register>のマクロを再生
@@ 最後に記録したマクロを再生

直前に数字を指定するとその回数だけ再生します。

問題

各テスト関数の呼び出し直後にprint("tagayasu")を入れて下さい。 5分


def test1:
    pass

def test2:
    pass

def test3:
    # hoge
    pass

def test4:
    x = x
    pass

def test5:
    pass