在Vim中进行高级搜索

时间:2020-03-06 14:42:16  来源:igfitidea点击:

有没有一种方法可以在Vim中同时搜索多个字符串?我记得在某个地方读过文章,虽然有可能,但以某种方式忘记了这项技术。

因此,例如,我有一个文本文件,我想同时搜索" foo"和" bar"(不一定是单个字符串,可以完全在不同的行中)。

我该如何实现?

解决方案

/(foo|bar)

Vim通过在命令模式下以'/'开头来支持正则表达式。

因此,使用像" /(foo \ | bar)"之类的东西(如前所述)可以解决该问题。很高兴知道为什么这样以及我们使用的是什么(正则表达式)。

/^joe.*fred.*bill/          : find joe AND fred AND Bill (Joe at start of line)
/fred\|joe                  : Search for FRED OR JOE

实际上,我在发布此消息后很快就找到了答案(是的,我之前在Google上做了搜索,但无法找到它。可能只是搜索错误)

正确的解决方案是

/(foo \ | bar)

@Paul Betts:管道必须逃脱