在vim中用[x + 5]替换[x]的命令是什么

时间:2016-02-19 00:09:40

标签: vim

用括号中的数字+4替换[]中的数字是什么命令? 例如[4] => [8]

:%s/\[\(\d\+\)\]/\=submatch(1)+4/Ic

我想到这一部分,但更换后无法得到[]。

想法?

1 个答案:

答案 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