* portability
* clang support
* make --invert-match (-v) behave as in ack/grep
* more searchable file types (and --list-file-types option)
* default to smart-case when searching (differs from ack)
Why use ag?
* It searches through code about 3x-5x faster than ack.
* It ignores files matched by patterns in your .gitignore and .hgignore.
* If there are files in your source repo that you don't want to
search, just add their patterns to a .agignore file.
* It's written in C instead of perl, the lesser of two evils :)
* The binary name is 33% shorter than ack!