我为一个看起来如此简单的问题而道歉。
我有一个示例命令,定义如下:
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命令中使用变量?
答案 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>