In vim, I do search with vimgrep frequently. I have mapping like below:
map s :execute \"noautocmd vimgrep /\\\\<\" . expand(\"\")
As of Vim 7.3.570, you can use wildignore to exclude patterns with vimgrep.
For example, to ignore the objd subfolder:
:set wildignore+=objd/**
Additional exclusions can be added by separating patterns with a comma:
:set wildignore+=objd/**,obj/**,*.tmp,test.c
See Vim's help documentation for a few more details.
:help wildignore