ack
ack is a tool like grep, designed for programmers with large trees of heterogeneous source code.
Why use ack instead of grep? It is, or at least feels, faster for everyday tasks, ignores VCS gubbins and backup files, and lets you specify filetypes when searching.