You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim执行:%s/or/and/g时误改单词内字符,如何仅替换独立的or?

问题原因

你之前使用的:%s/or/and/g命令没有限定匹配边界,会匹配文本中所有连续出现的or字符,所以会命中color这类单词内部的or片段。

正确替换命令

:%s/\<or\>/and/g

命令规则说明

  • \< 是Vim正则的单词起始锚点,仅匹配单词的开头位置,锚点前不能是字母、数字、下划线这类默认单词组成字符
  • \> 是Vim正则的单词结束锚点,仅匹配单词的结尾位置,锚点后不能是字母、数字、下划线这类默认单词组成字符
  • 给目标字符串or前后加上这两个锚点后,只会匹配完全独立的or单词,不会改动color这类包含or片段的普通单词
  • 末尾的g标记保留,用于匹配单行内多个符合要求的独立or并全部替换

拓展用法

如果需要同时匹配大小写的Or、OR等写法,可以在命令末尾追加i标记,修改后命令为:

:%s/\<or\>/and/gi

内容的提问来源于stack exchange,提问作者Display_name

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:00:04