I've been using Silver Searcher for a while now, but got inspired to write a little blurb after watching Gary Bernhardt use it in one of his screencasts.
The Silver Searcher is a faster code searching tool and than Ack. It's written in C and uses pthreads to take advantage of the multiple CPU cores on your machine to run searches in parallel.
An example use case is to look in the
/lib directories of a rails application.
Ag 'something to search' --ruby spec/ lib/
Prepend the search term with
-L to list only the files
Ag -L 'something to search' --ruby spec
Open all files that match in vim
vim `Ag -L 'something to search' --ruby spec`
So to make this even more useful, add it to your dotfiles / vimrc and use it anytime you search.
if executable('ag') " Use Ag over Grep set grepprg=ag\ --nogroup\ --nocolor " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' " ag is fast enough that CtrlP doesn't need to cache let g:ctrlp_use_caching = 0 endif " bind \ (backward slash) to grep shortcut command! -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw! nnoremap \ :Ag<SPACE> " bind F to grep word under cursor nnoremap F :grep! "\b<C-R><C-W>\b"<CR>:cw<CR>
For more reading, check out Thoughtbot's overview - it's where I got my dotfiles :).