> [!code]- Markdown原文 (こちらをVimに貼り付けて進めましょう) > ~~~ > [[ドットコマンド]]は[[挿入モード]]から抜けたら終わりです。挿入と編集を組み合わせた処理を繰り返すことができません。 > > [[マクロ (Vim)|マクロ]]はそれができます。自由自在!!🤜 > > ## マクロの流れ > > まずはやってみましょう。 > 以下の文に項番を付けます。 > > | No | コマンド | 意味 | > | --- | ---------------------- | ----------------------- | > | 1 | `i1.<space><ESC>^` | 準備 | > | 2 | `qqyf<space>jP^<C-a>q` | 記録 | > | 3 | `@q` | 記録したマクロの再生 | > | 4 | `2@@` | 記録したマクロを2回再生 | > > ```txt > ▼ > aras > karas > citrus > tagayasu > yatagarasu > ``` > > ## 記録 > > [[マクロ (Vim)|マクロ]]の記録は以下の流れでします。 > > 1. `q<register>`で記録開始 > 2. 好きな操作をする > 3. `q`で記録終了 > > `<register>`には小文字のアルファベットをよく使います。上の例では`<register>`に`q`を使いました。 > > [[マクロ (Vim)|マクロ]]に記録された内容は[[Exコマンド]]で`reg <register>`と確認できます。先ほどの例だと以下のような表示になります。 > > ```txt > :reg q > --- レジスタ --- > "q yf jP^^A > ``` > > ## 実行 > > [[マクロ (Vim)|マクロ]]の実行は以下の様にできます。 > > | コマンド | 意味 | > | ------------- | -------------------------- | > | `@<register>` | `<register>`のマクロを再生 | > | `@@` | 最後に記録したマクロを再生 | > > 直前に数字を指定するとその回数だけ再生します。 > > ## 問題 > > 各テスト関数の呼び出し直後に`print("tagayasu")`を入れて下さい。 `5分` > > ```python > ▼ > def test1: > pass > > def test2: > pass > > def test3: > # hoge > pass > > def test4: > x = x > pass > > def test5: > pass > ``` > > ~~~ [[ドットコマンド]]は[[挿入モード]]から抜けたら終わりです。挿入と編集を組み合わせた処理を繰り返すことができません。 [[マクロ (Vim)|マクロ]]はそれができます。自由自在!!🤜 ## マクロの流れ まずはやってみましょう。 以下の文に項番を付けます。 | No | コマンド | 意味 | | --- | ---------------------- | ----------------------- | | 1 | `i1.<space><ESC>^` | 準備 | | 2 | `qqyf<space>jP^<C-a>q` | 記録 | | 3 | `@q` | 記録したマクロの再生 | | 4 | `2@@` | 記録したマクロを2回再生 | ```txt ▼ aras karas citrus tagayasu yatagarasu ``` ## 記録 [[マクロ (Vim)|マクロ]]の記録は以下の流れでします。 1. `q<register>`で記録開始 2. 好きな操作をする 3. `q`で記録終了 `<register>`には小文字のアルファベットをよく使います。上の例では`<register>`に`q`を使いました。 [[マクロ (Vim)|マクロ]]に記録された内容は[[Exコマンド]]で`reg <register>`と確認できます。先ほどの例だと以下のような表示になります。 ```txt :reg q --- レジスタ --- "q yf jP^^A ``` ## 実行 [[マクロ (Vim)|マクロ]]の実行は以下の様にできます。 | コマンド | 意味 | | ------------- | -------------------------- | | `@<register>` | `<register>`のマクロを再生 | | `@@` | 最後に記録したマクロを再生 | 直前に数字を指定するとその回数だけ再生します。 ## 問題 各テスト関数の呼び出し直後に`print("tagayasu")`を入れて下さい。 `5分` ```python ▼ def test1: pass def test2: pass def test3: # hoge pass def test4: x = x pass def test5: pass ```