对 Vim 中包含一个或多个关键字的行进行操作

Operations on lines containing one or more keyword in Vim

如果我想在包含某个关键字的所有行上运行相同的命令,我可以使用全局命令,或者对包含该关键字的 not 行使用 vglobal 命令。

例如,如果我有一个包含以下内容的文本文件:

hello world
testing with foo
another test with bar in it
another foo line
last test line

:g/foo/d 删除所有包含单词 foo 的行给我:

hello world
another test with bar in it
last test line

我可以使用此命令对包含一个或多个多个单词的行进行操作吗?类似于 OR 语句的东西。例如,删除所有包含单词 foo OR bar 的行,给我:

hello world
last test line

谢谢

是的,您可以在正则表达式中使用 \| 运算符。所以:

:g/foo\|bar/d

全局命令以正则表达式作为输入。所以你只需要对 or.

使用交替 (\|)
:g/foo\|bar/d

将删除包含 "foo" 或 "bar" 的行。