vim - マクロで繰り返し入力する

 
1. 概要
2. マクロで繰り返し入力する

1. 概要

 例えば、コンフィグレーションファイルなどで、複数行をコメントアウトするときがあります。  削除するのはこわいのでコメントアウトするわけだ。  わたしには結構こういう場面があるのですよ。  redmine の database.yml としましょう。

# Line indentation must be 2 spaces (no tabs).

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: root
  password: ""
  encoding: utf8

development:
  adapter: mysql2
  database: redmine_development
  host: localhost
  username: root
  password: ""
  encoding: utf8
 7~21行の先頭に #(シャープ)をつけたいわけです。  i で入力モードにして  # これを、何度も繰り返すので、マクロに記録して一気に入力できんかな・・・と。  vim ならそういう機能がありそうと思ったら、ありました。  本項は「vimで繰り返し入力を自動化 - エイリーの備忘録」を参考にさせていただきました。

2. マクロで繰り返し入力する

 前項の状況で 7行目にカーソルを置いて

# Line indentation must be 2 spaces (no tabs).

production:
 q で記録開始  a でマクロ名を a に設定(つまりここは何でもいいわけだ)  i  #      ESCq で記録終了  これで、マクロが記録されました。  @a でマクロを実行します。  繰り返し回数 @a で回数分マクロを実行します。