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