我知道你可以在 vim 搜索/替换操作中调用函数。例如:
%s/regex/\=localtime()/g
将用当前纪元时间替换任何匹配“正则表达式”的内容。问题是,我无法在“替换”表达式中添加任何其他内容。例如:
%s/regex/epoch: \=localtime()/g
不再将“localtime”视为函数。相反,它只是将“epoch: =localtime()”打印为替换文本中的字符串。其目的是打印“纪元:1353085984”。
有没有办法从替换表达式的任意部分调用函数?
一旦使用替换表达式,它必须是整个替换。您可以在表达式中使用字符串连接(并通过以下方式引用捕获的元素)submatch(1)
代替\1
), 像这样:
:%s/regex/\='epoch: ' . localtime()/g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)