我试图仅在vim中搜索单个数字。例如,如果有两组数字1和123,而我想搜索1,则只希望找到单数1。
我尝试使用\ <1>和\%(a)@等正则表达式
答案 0 :(得分:1)
您几乎找到了正确的解决方案。您想要:
\<1\>
这是因为每个斜角支架都需要脱离。或者,您可以使用:
\v<1>
\v
标志告诉vim在不需要转义的情况下将更多字符视为特殊字符(例如,(){}+<>
全部变为特殊字符,而不是文字文本。有关详细信息,请阅读:h /\v
)
vimregex.com是在vim中学习正则表达式的重要参考。 \<\>
字符在4.1“锚点”中进行了说明。
如果您想匹配1.23
之类的文本,也可以这样做。两种不同的方法:
修改iskeyword
选项,使其包含.
。这也会影响w
的移动方式
使用\v<1(\d|.)@!
,其基本含义是“单词开头为1,不是后跟其他数字或句点。”