用括号中的数字+4替换[]中的数字是什么命令? 例如[4] => [8]
:%s/\[\(\d\+\)\]/\=submatch(1)+4/Ic
我想到这一部分,但更换后无法得到[]。
想法?
答案 0 :(得分:4)
Substitution的sub-replace-expression需要一个字符串。
:%s/\[\(\d\+\)\]/\='['.(submatch(1)+4).']'/Ic
或者使用\zs
和\ze
来设置匹配的开始和结束,这样您就不需要添加方括号。
:%s/\[\zs\(\d\+\)\ze\]/\=submatch(1)+4/Ic
如需更多帮助,请参阅:
:h sub-replace-expression
:h String
:h expr-.
:h /\zs