> [!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
```