对于看似如此简单的问题,我提前道歉。
我有一个示例命令定义如下:
command! -nargs=+ Exmpl call Example(<f-args>)
function! Example(name)
echo a:name
endfunc
按如下方式调用:
Exmpl 'hello'
但它似乎从字面上解释了没有解析的给定参数。所以:
let hello = 'world'
Exmpl hello
不打印world
,如预期的那样。
这显然是我在文献中找不到的明显的东西。我尝试添加各种转义字符,例如 &
,但随后的参数始终被视为空词。
如何在自定义 Vim 命令中使用变量?
使用 <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>