Vimscript:在函数调用

时间:2017-06-14 04:28:22

标签: vim

我为一个看起来如此简单的问题而道歉。

我有一个示例命令,定义如下:

command! -nargs=+ Exmpl call Example(<f-args>)
function! Example(name)
    echo a:name
endfunc

调用如下:

Exmpl 'hello'

但似乎字面上解释了在没有解析的情况下给出的参数。所以:

let hello = 'world'
Exmpl hello

不按预期打印world

这显然是我在the literature找不到的明显的东西。我尝试添加各种转义字符,如&,但随后的参数总是被视为裸字。

如何在自定义Vim命令中使用变量?

1 个答案:

答案 0 :(得分:2)

使用<args>代替<f-args>可以满足您的要求。

此命令定义在调用时扩展任何提供的参数

command! -nargs=+ Example call Example(<args>)
function! Example(name)
      echo a:name
endfunc

let hello = 'world'
Exmpl hello

<强>输出

world

<强>参考

:help command

然后搜索帮助文本:/ 标签 <args>