32
8
When using the grep plugin to VIM, I can search the current directory for all occurrences of a string within a set of files, like this:
:grep Ryan *.txt
This outputs something like this:
file1.txt:3:Ryan was here
file2.txt:10:Ryan likes VIM
file3.txt:5:superuser.com is a fav of Ryan
(1 of 3): Ryan was here
Press ENTER or type command to continue
If I press enter, it just takes me back to my editor. What I really want to do is be able to open up one of those files and jump to the place where the string was found. Is there a way to do this? The 1 of 3
part makes me think there's a way to tab through the results, but I don't know what commands are available to me. Can anybody shed some light on this?
Great answer, thanks! BTW, can you do a recursive search through folders with vim grep? – Marplesoft – 2011-02-22T16:42:58.473
As long as you are running on a Unix system, you can add whatever arguments to Vim's
:grep
that you would add to agrep
command executed from the shell. So, you could do a recursive search through all .txt files in and below the current directory with:grep -R --include=*.txt Ryan .
. You can also perform a recursive search using Vim's:vimgrep
command, but the arguments are different and I seldom use because it is slower than:grep
. – garyjohn – 2011-02-22T17:13:47.433