Grep for String并在相应的行打开

Qoh*_*let 3 linux vim command-line grep batch-processing

我在几行中的几个文件中出现了几次特定字符串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
Run Code Online (Sandbox Code Playgroud)

我想在相应的行上按顺序打开这些文件.我试着这样做vim,但到目前为止,在打开线路时没有成功.一定不能vim或者grep,但我认为那里必须有某种功能......

rom*_*inl 7

您可以grep在Vim的quickfix列表中加载输出:

$ vim -q <(grep -rn --include="*.cpp" mystring)
Run Code Online (Sandbox Code Playgroud)

使用:cn和转到上一次出现的下一次出现:cp.

:help -q:help quickfix.

  • 伙计们,`-l`根本不需要,改变了.实际上只需要`-r`和`-n`.`-n`为行号,`-r`为副作用. (2认同)