-1

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

我实际上正在寻找将 matchadd 用于插件,但我正在努力使用 vim 的特定正则表达式。

我试过了:

\w\{2}

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

我也试过:

\w\{2}\{-}

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

我真的想在每个单词的任何 2 个字符上使用非贪婪的正则表达式。

4

2 回答 2

2

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

:s/\v<\w{2}(\w*)>/\1/g
于 2013-09-17T17:34:54.437 回答
0

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

\<\w\{2}

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

于 2013-09-19T06:32:34.183 回答