匹配foo或bar vim正则表达式

sim*_*ont 12 regex vim

是否有一种在vim搜索和替换中一次匹配多个单词的方法?就像是:

:%s/foo|bar//g
Run Code Online (Sandbox Code Playgroud)

搜索foobar替换为空(这将搜索模式foo|bar,这不是我想要的).我可以这样搜索多个字符:

abcdef
:%s/[ace]//g
Run Code Online (Sandbox Code Playgroud)

结果是:

bdf
Run Code Online (Sandbox Code Playgroud)

我可以用文字做同样的事情吗?

我很清楚我可以这样做:

:%s/foo//g
:%s/bar//g
Run Code Online (Sandbox Code Playgroud)

如果存在这样的事情,我正在寻找一个单线解决方案.

fge*_*fge 21

在vim正则表达式中,交替运算符需要使用反斜杠进行转义:use foo\|bar.


nrz*_*nrz 11

|您可以使用vim的"非常神奇"模式,而不是使用反斜杠转义\v:

:%s/\vfoo|bar//g
Run Code Online (Sandbox Code Playgroud)