レジスタの内容をコマンドとして実行する

そろそろ Vim スクリプトを覚えようと思い、マニュアルを読んでいて知ったこと。 :@ が便利。

:@ の後にレジスタを指定すると、そのレジスタの内容ををコマンドとして実行してくれる。

例えば、スクラッチ

:let i = 1
:while i < 5
:  echo "count is" i
:  let i += 1
:endwhile

を書き vipy でヤンクして :@" を入力するとコマンドラインに結果が出る。ちょっと感動した。

応用というか、複雑な正規表現を試しながら記述するときに、:@ が役立った。 @@ でコマンドを繰り返せるのもよい。