我正在尝试学习如何使用 Redhat,但我遇到了一个问题,经过 2 天的谷歌搜索后我无法解决。我的任务是在 VIM 中搜索一个大型文本文档,其中一行包含任意字符序列:两个、三个、四个、六个或七个。我的方法是将这些单词视为模式并进行搜索。示例:
\two.*three.*four.*six.*seven
\<two\>|....\<six\>|\<seven\>
我真的很挣扎这个问题。任何想法或建议将不胜感激。
谢谢。
最佳答案
您可以使用 |
符号分隔模式。使用默认的magic
(请参阅:help magic
),您需要转义|
,即\|
。
因此,要搜索两个、三个、四个、六个或七个,请输入:
/two\|three\|four\|six\|seven
或者,您可以使用 \v
(非常神奇)然后使用 |
更改模式的 magic
设置> 符号在图案中具有神奇的意义:
/\vtwo|three|four|six|seven
如果您只想在单词边界之间进行匹配,即您不想匹配 sixteen
或 seventy
。
/\v<two>|<three>|<four>|<six>|<seven>
或者甚至:
/\v<(two|three|four|six|seven)>
关于unix - Vim 7.0.237 版本中的模式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328757/