2
用括号中的数字+4替换[]中的数字的命令是什么? 例如[4] => [8]在vim中用[x + 5]替换[x]的命令是什么
:%s/\[\(\d\+\)\]/\=submatch(1)+4/Ic
我想出直到这一部分,但不能得到[]出现替换之后。
想法?
用括号中的数字+4替换[]中的数字的命令是什么? 例如[4] => [8]在vim中用[x + 5]替换[x]的命令是什么
:%s/\[\(\d\+\)\]/\=submatch(1)+4/Ic
我想出直到这一部分,但不能得到[]出现替换之后。
想法?
替代的子替换表达式需要一个字符串。
:%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
使该搜索到它的宏,然后做'4 + Ctrl键+了' – aaronman