vimさんgrep使えたんですね。人生の半分ぐらい損してました。
もう同じ損はしないようにvimrcに設定加えておきましょうね。
vimのgrepはここ見たらわかるよ
https://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-grep
加えた設定は以下
set grepprg=grep\ -rnIH\ --exclude-dir=.svn\ --exclude-dir=.git
autocmd QuickfixCmdPost vimgrep copen
autocmd QuickfixCmdPost grep copen
" grep の書式を挿入
nnoremap <expr> <Space>g ':vimgrep /\<' . expand('<cword>') . '\>/j **/*.' . expand('%:e')
nnoremap <expr> <Space>G ':sil grep! ' . expand('<cword>') . ' *'
これで検索したいワードにカーソル置いて<Space>g
で内部grep、<Space>G
で外部grepの書式が挿入されるようになるね。
内部grep、vimgrepは遅いらしいけどバイナリファイルも検索対象として探してくれているので対象をしぼってやれば結構早くなる。expand('%:e')
で現在開いているファイルの拡張子を取得してくれるのでよしなに書いてやる。
外部grepはset grepprg=
にgrep用の設定を書き込んでやれば大体オッケー、.svn
や.git
ディレクトリは除外、引数-rnIH
は再起的に行数追加してバイナリファイルは除いてファイル名を表示かな。Hはいらないかもね。好みだね。ackも使えるみたいだよ。