Edited at

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

More than 5 years have passed since last update.

ag こと The Silver Searcher、検索が早くてとても便利ですよね。

(ag は 銀の元素記号が由来らしいですよ)

なぜか巷では今になって ack が話題になっているようですが、やっぱり ag だよね ag

詳しい使い方は以下あたりを見て下さい。


除外対象を ~/.agignore に設定しよう

デフォルトだと探して欲しくないファイルやディレクトリの中まで対象になってしまうので、困るときも多いかと思います。

(.gitignore 等も見てくれたりするけど、それだけじゃ足りないですよね)

そこで、検索してほしくない対象を ~/.agignore に書いておくことで、それらを除外して検索することができます。

これを設定するだけで、かなり使い勝手がよくなるのでおすすめです。

一時的に除外したい場合は、--ignore [PATTERN]--ignore-dir [PATTERN] を使うと良いでしょう。

これらをよく使うようなら alias を作るという手もあります。


My settings

以下が私の設定している .agignore です。


~/.agignore

*~

*.swp
*.bak
*.old
tmp
old
.vim/bundle
.vim/dict
.git
.svn
zsh-completions
lib
libs
jquery-*.js
bootstrap*.css
bootstrap*.js
jquery.js
node_modules
*.egg
*.egg-info

ちなみに以下のような alias も設定しています。

alias ag='ag -S --stats --pager "less -F"'

alias agh='ag --hidden'

-S は Smart Case による検索になるのでおすすめです。

(検索ワードが小文字だけの場合は大文字/小文字を無視して検索し、大文字が入っていれば大文字/小文字を無視しないで検索します)

他におすすめの除外対象などあれば、教えてください。