[vim]unite.vim + ag (the_silver_searcher) でファイル検索を効率化する
unite.vimとag( the_silver_searcher)を使ってファイル検索できるようにしたらvim環境が非常に快適になりました。
もっと早く設定すべきでした。
- agインストール
# mac
brew install the_silver_searcher
# cent
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install the_silver_searcher
- unite.vimインストール
# ~/.vimrc
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimproc', {
\ 'build' : {
\ 'mac' : 'make -f make_mac.mak',
\ 'unix' : 'make -f make_unix.mak',
\ },
\ }
- grepにagを使うように設定
# ~/.vimrc
"------------------------------------
" Unit.vim
"------------------------------------
" 入力モードで開始する
let g:unite_enable_start_insert=1
" 大文字小文字を区別しない
let g:unite_enable_ignore_case = 1
let g:unite_enable_smart_case = 1
" grep検索
nnoremap <silent> ,g :<C-u>Unite grep:. -buffer-name=search-buffer<CR>
" ディレクトリを指定してgrep検索
nnoremap <silent> ,dg :<C-u>Unite grep -buffer-name=search-buffer<CR>
" カーソル位置の単語をgrep検索
nnoremap <silent> ,cg :<C-u>Unite grep:. -buffer-name=search-buffer<CR><C-R><C-W><CR>
" grep検索結果の再呼出
nnoremap <silent> ,r :<C-u>UniteResume search-buffer<CR>
" 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
「 agとUnite.vimで快適高速grep環境を手に入れる - Thinking-megane」の記事を参考にさせていただきつつ、ディレクトリを指定してgrep検索するための「,dg」ショートカットを追加しました。
コマンド | 説明 |
---|---|
,g | パターンを入力して検索(カレントディレクトリ以下) |
,dg | ディレクトリを指定してからパターンを入力して検索 |
,cg | カーソルにある単語で検索 |
,r | 同じ条件の検索結果を再表示 |
非常に快適になるのでオススメです!