回答:
利点の1つ:[vim]grep以上は、/?(あなたが使用している場合やロケーションリスト結果はQuickFixリストに入れてしまうことがあり:l[vim]grep、)あなたが使用してすべてのマッチのリストをプルアップすることができますことは、この意味:cl。次に、番号を使用して、リストから目的の結果に直接移動できます。
また:[vim]grep pattern %、コードベース全体を検索するのと同じコマンドを使用して、現在のバッファを検索できるため、:[vim]grep pattern path対称性が向上します。
さらに、Silver Surfer / Ripgrepを使用して、非常に強力な検索を行うことができます。これらは:[vim]grepコマンドにマッピングできます。
私が見る3つの主な利点があります
一貫したregexエンジン/構文を使用:を使用:grep/vimgrepするとgrepprg、grep/ack/agなどを定義できるを定義できます。これを使用すると、一貫したregexエンジンを使用して現在のバッファーまたは複数のバッファー/ファイルを検索できます。一方、vimの/patternオプションを使用すると、vimのデフォルトの正規表現エンジンに固執しextended regular expressionます。これは、構文と比較して構文が異なります。だから、あなたが表現を検索する必要がいつでも、あなたは/あなたが使用する必要があるかどうか覚えて考える必要があるだろう\)か、単に)と他の違い。これは非常に迷惑です(/programming/3864467/whats-the-difference-between-vim-regex-and-normal-regex)
vimgrepは、quickfix / locationリストを作成し:grep/vimgrepます:を使用すると、検索リストを作成できます。(https://medium.com/@lakshmankumar12/quickfix-and-location-list-in-vim-ca0292ac894d)。
ロケーションリストを使用する場合、]qTim-Popesの無害なプラグイン(https://github.com/tpope/vim-unimpaired)がある場合、ショートカットを使用してナビゲートできます。
vim内での複雑な検索:通常、複雑な検索を行う必要がある場合は、コマンドラインを使用する必要があります。ただし、greprg適切に定義し、[1]などのコマンドを使用する場合
:vim / pattern1 / find . -type f
非常に複雑な検索を実行し、location listまたはで検索結果を表示できますquickfix list。
[1] http://vimcasts.org/episodes/search-multiple-files-with-vimgrep/