在Vim中,如何找到文件中每个单词的前2个字符并替换它。
我实际上是想使用matchadd作为插件,但我正在努力使用vim的特殊正则表达式。
我试过了:
\w\{2}
但这会得到下一组2个字符。
我也尝试过:
\w\{2}\{-}
但这不起作用,因为它是语法错误。
我真的想要每个单词任意2个字符的非贪婪正则表达式。
答案 0 :(得分:2)
尝试使用单词边界。在vim中,单词的开头为\<
,结尾为\>
。我使用非常魔法的选项(\v
)所以我不需要逃避它们:
:s/\v<\w{2}(\w*)>/\1/g
答案 1 :(得分:0)
事实证明我真正需要的是:
\<\w\{2}
感谢Birei的提示(upvoted)。请注意,为了使其正常工作,我不需要“\&gt;”等