gpt4 book ai didi

vim - 用表达式和匹配的模式替换

转载 作者:行者123 更新时间:2023-12-04 20:17:53 27 4
gpt4 key购买 nike

在 vim 中,我们可以用 sub-replace-expression 替换。当替换字符串以 \= 开头时,其余部分被解释为表达式。

例如带文字:

bar
bar

和替换命令:

:%s/.*/\='foo \0'/

给出意想不到的结果:

foo \0
foo \0

代替:

foo bar
foo bar

问题是:如何在替换中使用匹配模式评估表达式?

最佳答案

当你使用 sub-replace-expression 时,像 &\1 这样的普通特殊替换不再起作用;一切都被解释为 Vimscript 表达式。幸运的是,您可以使用 submatches() 访问捕获的子匹配,因此它变为:

:%s/.*/\='foo ' . submatch(0)/

关于vim - 用表达式和匹配的模式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21038271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com