VIM:如何从用户命令传递参数到函数?

时间:2010-07-09 14:38:35

标签: vim

我正在尝试在VIM中创建一个用户定义的命令,该命令接受一个参数并使用用户提供的参数调用一个函数。看似简单,但我无法让它工作。这是我的foo.vim插件的代码:

function! s:MyFunc(myParam)
    do something
endfunction

command! -nargs=1 MyCommand call s:MyFunc(myParam)

当我在这样的VIM缓冲区中尝试这个时:

:MyCommand exampleParam

我收到以下错误:

E121: Undefined variable: myParam 
E116: Invalid arguments for function <SNR>7_MyFunc

这里有什么问题?我该如何解决?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:59)

使用<f-args>

command! -nargs=1 MyCommand call s:MyFunc(<f-args>)