2012-03-01 30 views
7

如何從vim中的替換字符串調用一個函數?當我:vim調用一個組中的替代字符串函數

%s/regex/string/g,我想組作爲參數,用函數的返回值替換:

%s/regex/call function(\1)/g所以組#1將是函數的參數,返回值該函數將替換緩衝區中的所有匹配項。

它是否可行?

回答

9

要使用你需要添加\=到您的替換字符串Vimscript中的表達式:

%s/regex/\= function(submatch(1))/g 
+1

它的不好,只是貼了'=函數(1)'在它 – microo8 2012-03-01 09:03:34

+0

@ microo8感謝您的評論。我添加了缺少的'submatch'調用來獲得'\ 1'。 – jcollado 2012-03-01 09:06:47

+0

請參閱'':h sub-replace-expression''獲取更多詳細信息。 – 2016-11-27 23:16:58

相關問題