Vim で、行セットにマクロを適用するにはどうすればいいですか? 質問する

Vim で、行セットにマクロを適用するにはどうすればいいですか? 質問する

たくさんの行があるファイルがあります。1 行で操作を実行するマクロを記録しました。ファイル内の残りのすべての行でそのマクロを繰り返し実行したいのですが、これを簡単に行う方法はありますか?

Ctrl+Q を試し、一連の行を強調表示して @@ を押しましたが、うまくいかなかったようです。

ベストアンサー1

使用普通複数行またはすべての行でマクロを実行するには、Ex モードでコマンドを使用します。

5 行目から 10 行目のレジスタaに格納されているマクロを実行します。

:5,10norm! @a

ファイルの 5 行目から最後までのレジスタaに格納されているマクロを実行します。

:5,$norm! @a

レジスタaに格納されているマクロをすべての行で実行します。

:%norm! @a

パターンに一致するすべての行でレジスタaのマクロ ストアを実行します。

:g/pattern/norm! @a

視覚的に選択された行でマクロを実行するには、目的の領域が選択されるまでV キーjキーまたはk キー:norm! @aを押します。次に、と入力して、次の入力行が表示されることを確認します。

:'<,'>norm! @a

詳細を読むには、vim で:help normal と入力してください。

おすすめ記事