如何替换 vim 中包含模式的所有单词?

How to replace all word containing a pattern in vim?

我想使用 vim 替换文件中包含字符串的所有单词。 如何在 vi 编辑器中完成?

您可以像这样使用替换命令:

:%s/before/after/g

哪里

  • %s 是替换
  • before 是要匹配的字符串
  • 之后是替换
  • g 是全局标志(替换所有出现的地方)

如果要匹配子字符串,可以使用

:%s/\<\w*substr\w*\>/newword/g

其中

  • \< 匹配单词边界
  • \w* 匹配一个单词字符(0个或多个)
  • substr 是你的子字符串
  • > 匹配单词边界 end
  • newword 是要替换的新词
  • g 是全局替换