I’m having several occurrences of a specific string over several files in several lines obtained with grep
.
$ grep -rn --include="*.cpp" mystring lib/mlib/actionbuttonrule.cpp:300: mystring Foobar... lib/mlib/actionbuttonrule.cpp:314: other mystring lib/mlib/item.cpp:3025: /* mystring**/ lib/mlib/item.cpp:3082: mystring Foobar... lib/mlib/item.cpp:3095: Foo mystring bar
I’d like to open these files sequencially on the corresponding lines. I tried to do it with vim
, but so far no success when it comes to open the line.
Mustn’t be vim
or grep
, but I’d assume there must be some kind of functionality out there…
Advertisement
Answer
You can load your grep
output in Vim’s quickfix list with:
$ vim -q <(grep -rn --include="*.cpp" mystring)
Go to the next occurence with :cn
and to the previous occurrence with :cp
.
See :help -q
and :help quickfix
.