Skip to content

Instantly share code, notes, and snippets.

@tanish-kr
Created March 30, 2018 06:03
Show Gist options
  • Save tanish-kr/d691e44b3766a734ba99fb1cc8f09966 to your computer and use it in GitHub Desktop.
Save tanish-kr/d691e44b3766a734ba99fb1cc8f09966 to your computer and use it in GitHub Desktop.
vim マクロ 練習

マクロの基礎

マクロとは

Vimでの一連の操作を記録し、記録した操作を繰り返し再生出来る機能

マクロの記録

  • q{0-9a-zA-Z"}

タイプした文字列をレジスタに記録する

  • q

マクロの記録を終了する

  • @{0-9a-z".=*+}

レジスタ {0-9a-z".=*+} の内容を [count] 回実行する。

  • @@

直前の @{0-9a-z":*} を [count] 回繰り返す。

  • :[addr]*{0-9a-z".=+}
  • :[addr]@{0-9a-z".=*+}

レジスタ{0-9a-z".=*+}の内容をExコマンドとして実行する

  • :[addr]@:

最後のコマンドラインを繰り返す

  • :[addr]@
  • :[addr]@@

最後の :@{0-9a-z"} を繰り返す

練習

Case 1 : 連番

  • 200までの連番を挿入する
  1. 1,aaaと入力する
  2. qqでマクロの記録を開始 (レジスタに使用するキーはあらかじめ決めておくとよい)
  3. yypで1行コピー
  4. 2行目の先頭にフォーカスしていることを確認し、<C-a>で数値をインクリメント
  5. qでマクロの記録を終了
  6. @qでマクロを再生
  7. 200@qでマクロを繰り返し

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment