gpt4 book ai didi

vim - 如何在Vim命令中使用函数的返回值?

转载 作者:行者123 更新时间:2023-12-04 03:44:52 35 4
gpt4 key购买 nike

我正在尝试做听起来 super 简单的事情,但是由于某种原因,它不起作用。命令:

:m 10

将当前行移到第10行的右下方,然后
:echo line(".") - 2

打印出从光标起两行的行的行号。阅读文档后,我编写了以下命令:
:m line(".") - 2

导致此错误:

M14: Invalid address



因此,我认为除非使用 =符号,否则不会对函数求值,因此我尝试了以下操作:
:m =line(".") - 2

这给了我同样的错误。为了确保不是空格,我尝试过:
:m =line(".")

这仍然给我同样的错误! 我在这里做错了什么?

我确保 :m接受整数,并且 line()返回整数。
:echo type(5)
0
:echo type(line("."))
0

最佳答案

为了计算表达式并将其传递给ex-mode命令,您需要使用execute命令。在您的情况下,这可行:

:execute "m" line(".") - 2

您可以将 execute视为使用单个变量 "m" line(".") - 2的函数。先评估此变量,然后在ex模式下将其作为字符串执行。

有关更多帮助,请参见 :help execute

关于vim - 如何在Vim命令中使用函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14347867/

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