Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

agでvimの検索関連を高速化

$
0
0

agがとにかく高速で検索できるそうなので今更試してみた。
そしたらすごく速くなった!

ag のインストール

公式の手順が確実です。
https://github.com/ggreer/the_silver_searcher

Mac

$ brew install ag

CentOs

$ rpm -ivh http://swiftsignal.com/packages/centos/6/x86_64/the-silver-searcher-0.14-1.el6.x86_64.rpm
# or $ rpm -ivh http://swiftsignal.com/packages/centos/6/i386/the-silver-searcher-0.14-1.el6.i686.rpm

Windows

手順通りソースからビルドするか、以下からバイナリを利用させていただく。

The Silver Searcher windows port
http://blog.kowalczyk.info/software/the-silver-searcher-for-windows.html

コマンドから利用

$ ag hoge

オプション(一部)

オプション意味
-a隠しファイルおよび無視リストも対象
-gファイル名で検索
-G検索対象の指定 [ag -G *.css]
-l一致したファイル名のみ
-L一致していないファイル名のみ
-v不一致検索
-Q正規表現を無視
-z圧縮ファイルも対象

無視ファイルリスト

.agignoreで指定可能

ag の検索で除外設定を使う - Qiita

vimで利用

ag.vim

.vimrc
NeoBundle 'rking/ag.vim'

コマンド

コマンド結果
:Agカレントディレクトリを再帰的に検索して quickfix へ
:AgAdd:Ag同様だが結果を追加
:AgFromSearch前回の検索パターンを使用(/による検索など)
:LAg:Ag同様だが、結果を location-list へ
:LAgAdd:AgAdd同様だが、結果を location-list へ
:AgFileファイル名の検索
:AgHelpvimのドキュメントが検索対象

quickfixでの操作

コマンド内容
e開くと同時に終了
o開く
goプレビュー
tタブで開く
Tタブで開く(silently)
h水平分割で開く
H水平分割で静く(silently)
v垂直分割で開く
gv垂直分割で開く(silently)
q終了

結果

速い!

Unite.vim と組み合わせる

Unite.vimはインストール済みとして。

.vimrc
" カーソル位置の単語をgrep検索
nnoremap <silent> ,cg :<C-u>Unite grep:. -buffer-name=search-buffer<CR><C-R><C-W>

" 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

結果

速い!

ctrlp.vim と組み合わせる

ctrlp.vimはインストール済みとして。

.vimrc
let g:ctrlp_user_command = 'ag %s -l'

結果

速い!


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>