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