为何Vim无法将代码中的||替换为&&?如何解决该问题?
Vim替换
||为&&失败的修复方案 问题根源
Vim替换命令的替换字符串中,&是特殊元字符,会被自动替换为「本次匹配到的完整内容」。你执行的12s/||/&&/g,实际效果是把每一处||替换成||(匹配内容) + ||(第二个&再次替换为匹配内容),最终变成||||,也就是你看到的“新增一组||”。
正确命令
要使用字面意义的&,可以用两种方式实现:
- 反斜杠转义写法:
12s/||/\&\&/g
- 单引号包裹替换字符串(更简洁,单引号内元字符会被当作普通字符处理):
12s/||/'&&'/g
执行后,原代码会被正确替换为:
if(arr.length != 10 && arr.length != 20 && arr.length != 100)
内容的提问来源于stack exchange,提问作者Ramon Emmiel
相关产品推荐
相关产品推荐

