匹配foo或bar vim正则表达式

时间:2012-12-22 13:02:31

标签: regex vim

是否有一种方法可以在vim搜索和替换中一次匹配多个单词?类似的东西:

:%s/foo|bar//g

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

abcdef
:%s/[ace]//g

结果:

bdf

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

我很清楚我可以这样做:

:%s/foo//g
:%s/bar//g

我正在寻找单线解决方案,如果存在这样的话。

2 个答案:

答案 0 :(得分:21)

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

答案 1 :(得分:11)

您可以使用带有|序列的vim "very magic" mode,而不是使用反斜杠转义\v

:%s/\vfoo|bar//g