在替换字符串中调用vim函数处理一组内容

10
如何在vim中从替换字符串中调用函数?当我有: %s/regex/string/g 并且我想使用组作为参数并将其替换为函数的返回值: %s/regex/call function(\1)/g 因此,组#1将是函数的参数,并且函数的返回值将替换缓冲区中的所有匹配项。
是否可能?
1个回答

13

要使用vimscript表达式,您需要在替换字符串中添加\=

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

@microo8 感谢您的评论。我已经添加了缺失的 submatch 调用以获取 \1 - jcollado
1
请参阅“:h sub-replace-expression”以获取更多详细信息。 - Bryce Guinta
1
当函数调用前有一个字符时,这种方法似乎无效。 - Behlül

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接