vimをつかっていて結構便利なのがargdoコマンドです。
どういうときに使用するかというと以下のような時。
- あるディレクトリにいっぱいファイル(たとえばjavaファイル)があって、一括で置換したいときとか
などのように、何かのコマンドを一括して実行したいときに使用します。
argdoはargとついているだけあって、まずargumentに追加しておかなくてはなりません。
(例) :argadd *.java
上記では、javaファイルをまとめてargumentに追加してます。
その後で、
:argdo %s/hoge/hehe/g | update
とやると、全argumentに対して, s/hoge/hehe/gがかかります。
後ろのupdateは、パイプで流れてきたデータをupdate、つまり書き込み(:w)するという意味です。
ちなみに、updateコマンドはファイルに変更があった場合のみ書き込みするコマンドです。(writeとちょっと違う)
いろいろ応用が利くコマンドです。
詳しくは、
:help argdo
を見てみてください。他にもwindoやtabdoやbufdoとかもあります。
windoとかは、各ウィンドウに対して一気に設定をしたいときによく使います。
:windo set ts=2 sw=2
(あとがき)
vim7.0になって、内部GREPが搭載されていたんですね〜。
vimgrepってものが追加されていてびっくり。