LoginSignup
23

More than 5 years have passed since last update.

VimのNERDTree上でgrepする

Last updated at Posted at 2014-12-27

タイトルにはgrepと書きましたが、今回はgrepの代わりに、より高速なThe Silver Searcherを使います。

もちろん、NERDTreeは既に使えるという前提です。

1. The Silver Searcherのインストール

$ brew install the_silver_searcher

The Silver Searcherについては、以下の記事を参考。
ackを捨てて、より高速なag(The Silver Searcher)に切り替えた

2. VimからThe Silver Searcherを使えるようにする

ag.vimというプラグインを利用します。
.vimrcに以下を追記して、:NeoBundleInstall


NeoBundle 'rking/ag.vim'

これで、vimから:Ag [options] {pattern} [{directory}]で、The Silver Searcherが使えるようになります。

3. NERDTreeのmenuにgrepを追加する

grep_menuitem.vimというプラグインを利用します。

grep_menuitem.vimを.vim/bundle/nerdtree/nerdtree_plugin/以下に置く。

これで、NERDTreeのmenuにgrepが追加されます。
スクリーンショット 2014-12-27 21.10.20.png

4. NERDTreeでThe Silver Searcherを使う

2でVimからThe Silver Searcherを使えるようにし、3でNERDTreeでgrepを使えるようにしたので、次はNERDTreeでThe Silver Searcherを使えるようにします。

具体的には、3で追加したgrep_menuitem.vimを以下のように修正。

grep_menuitem.vim
" exec 'silent grep -rn ' . pattern . ' .' "変更前
exec 'silent Ag ' . pattern . ' .' "変更後

これで、NERDTreeでgrepの代わりにThe Silver Searcherが使えるようになりました。
特にファイル数の多いディレクトリ以下を検索するときは、grepよりThe Silver Searcherの方が圧倒的に早いです。

参照

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23