When I run grep "keyword" -n
and get the following list of results:
a/b/c:10: keyword
a/b/c:70: keyword
a/b/d:50: keyword
How can I open one of the files (say the 2nd in list) in the line it found?
I now just copy the the output using my mouse, and copy it after vim
and then add +
with the line number I copy. (meaning I write vim a/b/c +70
using the mouse copy to get the file name, and another mouse copy to get the line number [or I just copy it by hand, when its short enough])
Is there a way to do it with a keyboard shortcut?
Best Answer
Two things:
Vim has some support for
grep
.If you open Vim, and do
:grep keyword ...
, Vim populates the quickfix list with the results, and jumps to the first file. You can then jump to the nth quickfix entry with:cc n
(and other commands).You can populate the aforementioned quickfix list using grep's output:
And then use the quickfix navigation commands mentioned above.
Either is simpler than playing around with grep's output manually.
As an alternative to (2), you can save grep's output to a file and use that file instead, if you think you won't necessarily open Vim after: