如何在Vim中进行类似于“grep -w”的全字搜索

时间:2013-03-08 06:36:05

标签: vim grep

如何在Vim中进行像grep -w这样的全字搜索,它只返回所需字符串是整个单词而不是更大字的一部分的行?

grep -w:仅选择包含构成整个单词的匹配项的行。

这可以在Vim中完成吗?

3 个答案:

答案 0 :(得分:56)

\<bar\>

匹配bar,但foobarbarbazfoobarbaz都不匹配。

在替换中使用它:

:s/\<bar\>/baz

像这样使用它列出包含整个单词bar的所有行:

:g/\<bar\>

:h pattern读得很好。

答案 1 :(得分:22)

您想要/\<yourword\>

如果你的光标在一个单词上,那么你可以按*,它将只进行单词搜索光标下的单词。

答案 2 :(得分:5)

可以使用'very-magic' \v来简化命令:

/\v<yourword>

正如评论中所述,\v表示所有字母数字字符都具有特殊含义,因此只需要输入<>而不是使用\<\>转义它们{1}}。