【nvim】プラグイン追加 - ag【SW】

Neovim に対して、ag プラグインを追加する
高速検索ツール ag (The Silver Searcher) プラグインを導入する。
なお、事前にUnite はインストール済であるものとする。 
 

 

参考にしたページ

agでvimの検索関連を高速化
https://github.com/ggreer/the_silver_searcher

 
本ページは Neovim のプラグイン導入のつづきである

  • Ubuntu 18.04 環境の nvim 、 nvim-qt で確認済。
  • $HOME/.config/nvim/userautoload/plugins/ 以下の私独自設定のファイルを読み込むようにしている。

 
余談
ag コマンド単独で使用してみたが、とてつもなく速い!!*1
grep とそんなに変わらないだろう、と面倒臭がって避けていたことで相当な時間を無駄にしていた。
Emacs も早期に grep から ag に切り替えねば..
 

1. ag のインストール

% sudo apt-get install -y silversearcher-ag

次のように検索対象外を定義しておく。

$HOME/.agignore

log
logs
tmp
vendor
.vim/bundle
.vim/dict
.git
lib
libs
jquery-*.js
*.swp
*.sql
*.tags*
*.gemtags*
*.csv
*.tsv
*.tmp*
*.js
*.css
*.old
*.json
*.xml
*.pdf
*.md
*.log

 

2. ag プラグインのインストール

(dein を導入済みであるものとして) 以下を書いてnvim を起動させればインストールされる。

$HOME/.config/nvim/init.vim

  call dein#add('rking/ag.vim')

 

3. Unite で ag を使うようにする

 
すでに以下のように定義されていれば、Unite で使用する grep が ag に置き換えられる

$HOME/.config/nvim/userautoload/plugins/plugins-unite.vim

" unite grep に ag(The Silver Searcher) を使う
if executable('ag')
  let g:unite_source_grep_command = 'ag'
  let g:unite_source_grep_default_opts = '--nogroup --nocolor --column'
  let g:unite_source_grep_recursive_opt = ''
endif

*1:time コマンドで CPU 負荷率を見ると、かなり CPU リソースを使っていたが