unix - Vim 7.0.237 版本中的模式搜索

标签 unix vim

我正在尝试学习如何使用 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

如果您只想在单词边界之间进行匹配,即您不想匹配 sixteenseventy

/\v<two>|<three>|<four>|<six>|<seven>

或者甚至:

/\v<(two|three|four|six|seven)>

关于unix - Vim 7.0.237 版本中的模式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328757/

相关文章:

c - &address + sizeof(type) 和 &address + 1 有什么区别?

vim - Vim 快捷键的英语助记符

vim - 切换到之前未列出的 vim 缓冲区

vim - Vim在Visual行中正常编辑无法正常工作?

vim - 在 vim 中启用剪贴板+

bash - shell 脚本到 ssh 远程机器并打印 top 命令的输出

c++ - default_random_engine’ 没有命名类型

c - 如何确定客户端是否已连接到我的套接字?

vim highlight remove overwrite others 嗨

linux - 在perl中连接linux命令内的变量