正则表达式找到vim中每个单词的前2个字符

时间:2013-09-17 17:02:23

标签: vim vim-plugin

在Vim中,如何找到文件中每个单词的前2个字符并替换它。

我实际上是想使用matchadd作为插件,但我正在努力使用vim的特殊正则表达式。

我试过了:

\w\{2}

但这会得到下一组2个字符。

我也尝试过:

\w\{2}\{-}

但这不起作用,因为它是语法错误。

我真的想要每个单词任意2个字符的非贪婪正则表达式。

2 个答案:

答案 0 :(得分:2)

尝试使用单词边界。在中,单词的开头为\<,结尾为\>。我使用非常魔法的选项(\v)所以我不需要逃避它们:

:s/\v<\w{2}(\w*)>/\1/g

答案 1 :(得分:0)

事实证明我真正需要的是:

\<\w\{2}

感谢Birei的提示(upvoted)。请注意,为了使其正常工作,我不需要“\&gt;”等