在vim脚本(gvim72)中我使用
substitute("abcdef", '.*' , submatch(0).'append','g')
提供'append'
代替'abcdefappend'
,这里会发生什么?
答案 0 :(得分:3)
submatch()
不会在substitute()
内执行您想要的操作,因为submatch(0)
会被评估并传递到函数中,而不是以符号方式处理。
您想要的是在更换时评估它:
substitute("abcdef", ".*", "\\=submatch(0).'append'", "g")
请参阅submatch()
,substitute()
和(最重要的)sub-replace-expression
的帮助。
答案 1 :(得分:1)
对于这个简单的事情你也可以使用反向引用语法而不是submatch:
substitute("abcdef", '.*' , '\0append','g')