gpt4 book ai didi

vim - vim 的表达式计算是否可以与缓冲区中的现有表达式一起使用?

转载 作者:行者123 更新时间:2023-12-04 00:38:04 24 4
gpt4 key购买 nike

vim , 我们可以通过键入 <C-r>= 在插入或命令模式下进行快速计算后跟表达式,例如 1.1+2.2 , 将结果放入缓冲区。

如果我在当前缓冲区中有一个现有的表达式,比如25.22 + 14.55 , 有没有办法让 vim 计算这个表达式,并用结果替换它?

我主要对不使用外部工具的解决方案感兴趣,例如 bc .

更新:更明确地说,这是我想要在评估前后缓冲区中的行上的内容。

示例输入:

25.22 + 14.55 

示例输出:

39.77

最佳答案

根据您使用 eval() 计算表达式的文档。

register                                                expr-register @r
--------
...
When using the '=' register you get the expression itself, not what it
evaluates to. Use eval() to evaluate it.

要将当前行传递给 eval(),您可以使用以下代码。

:s/.*/\=eval(submatch(0))

用对其运行 eval 的结果替换表达式。

看看:h sub-replace-expression

关于vim - vim 的表达式计算是否可以与缓冲区中的现有表达式一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621545/

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