grep を使いやすくする

March 02, 2007category: Vim 

Windows では :grep コマンドの実体が findstr.exe で、いまいち使いづらいので GNU grep と grep.vim を使うようにした。特に、バッファ内を検索する :GrepBuffer が便利。

GNU grep をインストールする

以下の 2 サイトからバイナリをダウンロードする。

インストール場所は、スペースを含まない所が良い。スペースを含むと grep.vim がエラーを起こす。

grep.vim をインストールする

grep.vim の最新版をダウンロードし、$VIM/runtime/plugin に配置する。そして gvimrc に以下のような設定を追加する。

:let Grep_Path = 'c:/GnuWin32/bin/grep.exe'
:let Grep_Find_Path = 'c:/GnuWin32/bin/find.exe'
:let Grep_Xargs_Path = 'c:/GnuWin32/bin/xargs.exe'

Vim を再起動して完了。

追記 2008.02.14

Vim7 ならば、vimgrep が内蔵されている

comments (3)

comments

Vim7ならset grepprg=internalで十分使えますよ。
(grep.vimのGrepBufferとGrepArgs相当のことは無理ですけど)

Posted by: kana : May 7, 2007 09:24 PM

コメントありがとうございます。
set grepprg=internal にしてみました。
copen、ccl で便利に使えそうです。

ついでといっては、ですが、internal grep で option は使用できるのでしょうか?
-r で再帰検索できればと思いまして……。

Posted by: Tanabe : May 9, 2007 01:33 AM

再帰検索、解決しました。
:grep /pattern/ **/*.txt

Posted by: Tanabe : May 9, 2007 01:38 PM