Regex 替换字符串中的组上的vim调用函数

Regex 替换字符串中的组上的vim调用函数,regex,vim,substitution,function-call,Regex,Vim,Substitution,Function Call,如何从vim中的替换字符串调用函数?当我有: %s/regex/string/g我希望将组作为参数,并用函数的返回值替换它: %s/regex/call函数(\1)/g因此组#1将是函数的参数,函数的返回值将替换缓冲区中的所有匹配项 可以吗?要使用vimscript表达式,需要将\=添加到替换字符串中: %s/regex/\= function(submatch(1))/g @谢谢你的评论。我添加了缺少的子匹配调用以获取\1。注意:有关详细信息,请参见:h sub replace expres

如何从vim中的替换字符串调用函数?当我有:

%s/regex/string/g
我希望将组作为参数,并用函数的返回值替换它:

%s/regex/call函数(\1)/g
因此组#1将是函数的参数,函数的返回值将替换缓冲区中的所有匹配项


可以吗?

要使用vimscript表达式,需要将
\=
添加到替换字符串中:

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

@谢谢你的评论。我添加了缺少的
子匹配
调用以获取
\1
。注意:有关详细信息,请参见
:h sub replace expression