vimでack
以下のを使ってます。
http://blog.ant0ine.com/2007/03/ack_and_vim_integration.html
function! Ack(args) let grepprg_bak=&grepprg set grepprg=ack\ -H\ --nocolor\ --nogroup execute "silent! grep " . a:args botright copen let &grepprg=grepprg_bak endfunction command! -nargs=* -complete=file Ack call Ack(<q-args>)
Bufferに全部読み込んでGrepBufferで検索というよりも、最近は必要なファイルだけ開いてAckで必要なファイルを開くようにすることのほうが多いかも。
vimgrepは使ったことがなかった。今度少し試してみよう。
http://blog.xole.net/article.php?id=635