2010年03月03日

Windows版Vimでgrepを使う

Windows上でKaoriYa版Vimを使用している。
ソースコードを読み書きしていると、よくgrepのお世話になる。しかし、Windows版のVimでは内部で findstr.exe が呼び出される。
findstr.exe は、Windowsに標準で装備されているコマンドで、ファイル中の文字列を検索してくれる。基本的には grep と同様の機能を盛っている。
しかし、findstr.exe は再帰検索ができない。grep -r 相当の処理が出来ない。
これでは使いにくいので、GnuWin32から grep.exe をもってきて、これを使用することにした。

まず、grep(GnuWin32)のインストール先として、C:\Program Files\GnuWin32 を作成しておく。

このページからgrepのBinaries(zip)、Dependencies(zip)を取得して、C:\Program Files\GnuWin32 の下に展開する。
C:\Program Files\GnuWin32\bin\grep.exe が出来ていることを確認しておく。
これを書いている時点では、下記ファイルを使用した。
Binaries = grep-2.5.4-bin.zip
Dependencies = grep-2.5.4-dep.zip

次に、Vimを設定して、インストールした grep.exe を使用するように変更する。
Vimを起動して、
:e $HOME/.vimrc あるいは、 :e $HOME/_vimrc に次の行を追加する。
let $PATH=expand($PATH) . ';C:\Program Files\GnuWin32\bin'
set grepprg=grep.exe\ -nH

これで、Vimを起動すれば、Linuxと同等のgrepが出来る。
再帰的に検索するには、下記のように指定する。
:grep -r abc *
posted by mypc at 22:06| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/35956965

この記事へのトラックバック