いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

argdo

vimをつかっていて結構便利なのがargdoコマンドです。
どういうときに使用するかというと以下のような時。

  1. あるディレクトリにいっぱいファイル(たとえば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ってものが追加されていてびっくり。