:vimgrep /JFactory/ **/*.java
You can replace the pattern /JFactory/
with /\<JFactory\>/
if you want full word match. :vim
is shorthand for :vimgrep
.
If JFactory
or \<JFactory\>
is your current search pattern (for example you have hit *
on one occurrence) you can use an empty search pattern: :vimgrep // **/*.java
, it will use last search pattern instead. Handy!
Warning: :vimgrep
will trigger autocmds if enabled. This can slow down the search. If you don’t want that you can do:
:noautocmd vimgrep /\<JFactory\>/ **/*.java
which will be quicker. But: it won’t trigger syntax highlighting or open gz
files ungzipped, etc.
Note that if you want an external program to grep your pattern you can do something like the following:
:set grepprg=ack
:grep --java JFactory
Ack
is a Perl-written alternative to grep. Note that then, you will have to switch to Perl regexes.
Once the command of your choice returned, you can browse the search results with those commands described in the Vim documentation at :help quickfix
. Lookup :cfirst
, :cnext
, :cprevious
, :cnfile
, etc.
2014 update: there are now new ways to do that with the_silver_searcher
or the_platinum_searcher
and either ag.vim
or unite.vim
plugins.