Searching through directories of code can be difficult because there are often many files and directories that should normally be ignored i.e. version control information like .svn and .cvs directories, binary files, etc. acksolves this problem very nicely: it’s easy to use, fast, and only requires Perl to be installed.

One caveat: ack doesn’t search .pro files by default. Insert the following at line 1046 to add an IDL file type:

idl => [qw( pro )],

Add other types as desired. There is an --all-types command line switch to search all files, but I found that negates much of the ack’s benefit.

UPDATE: put

–type-set=IDL=.pro

in an .ackrc file in your home directory.

If you use TextMate, there is an Ack in Project bundle which allows you to use ack from within TextMate. Ack in Project uses its own copy of ack, so modify the ack-standalone.sh file inside the Ack in Project bundle if you want to do the above modification to search .pro files.