Vim/検索/複数ファイルからの検索

Vim/検索/複数ファイルからの検索

Vim を使って複数ファイルから該当のキーワードを検索することができる。

最近の Vim には vimgrep という grep が内蔵されているのでこれを使う。

コマンドモードで

:vimgrep /hoge/j *.rb | cw

のように打ち込む

そうすると QuickFix ウィンドウが開くので、カーソル移動してエンターで開く。

編集中のウィンドウからはctrl + wwで QuickFix ウィンドウに戻ることが出来る。

QuickFix ウィンドウはコマンドモードで

:ccl

と打つと閉じることができる。

↑の操作はちょっと煩雑なので、以下の設定を加える

autocmd FileType qf nnoremap <buffer> q :ccl<CR>
autocmd QuickfixCmdPost vimgrep if len(getqflist()) != 0 | copen | endif

これで

:vimgrep /hoge/j *.rb

と打つだけで QuickFix Window に結果が表示されて、Quick Fix Window で qで閉じることができる。

Tag

editor/vim/search/search_word_in_files.txt · 最終更新: 2019-02-18 12:44 by ore