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.