読者です 読者をやめる 読者になる 読者になる

観察と傍観のはて

アプリ、プログラム、本、映画、メンタル的なこと、日記などを書いています。

vimのcomplex repeat (複雑な繰り返し)機能について

新しいプロジェクトでviを使うのですが、久しぶりで(((( ;゚д゚))))アワワワワしてます。
で、知らなかった機能。viというかvimの機能かな。


コマンドモードでqコマンドで一連のキー操作をレジスタに保存。
それを@コマンドで実行することができる。

これcomplex repeatって機能らしい。

ex.)

qa (レジスタaに記録)
3G(3行目へ)
dd(行削除)
G(最終行へ)
yy(コピー)
2p(コピーした行を2行貼り付け)
$(行末)
a(カーソルの次から追加できる入力モードへ)

(直接編集)

ESC(入力モードをぬける)
q(記録修了)

 
これで@aと打てばレジスタに記録した動作
「3行目を削除して、最終行をコピーして下に2つ貼り付け、
行末を編集」までをやってくれる。
ちなみにqbとすれば実行するときは@bとなる。

これの何が便利かと言ったら複数ファイルを開いて
他のファイルでも同じ作業をしたいときホイホイと直せる

使い方としては

vi file1 file2 file3

(qコマンドで記録。)

:wn

(同じ作業を繰り返す)

:q

 
これで最初の記録して編集したファイルが間違っていなければ
ヒューマンエラーなくファイルを編集できる。

もちろんgrepコマンドで確認したほうが良いだろうけど。

また時間あったら
Vim documentation: help
みないとな。