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

VIM:如何从用户命令向函数传递参数?,vim,Vim,我试图在VIM中创建一个用户定义的命令,该命令接受一个参数并使用用户提供的参数调用函数。看起来很简单,但我无法让它工作。下面是我的foo.vim插件的代码: function! s:MyFunc(myParam) do something endfunction command! -nargs=1 MyCommand call s:MyFunc(myParam) 当我在VIM缓冲区中这样尝试时: :MyCommand exampleParam 我得到以下错误: E121: Unde

我试图在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
E121:未定义变量:myParam
E116:函数7_MyFunc的参数无效
这里怎么了?我该如何解决这个问题?非常感谢您的帮助。

使用:

命令-nargs=1 MyCommand调用s:MyFunc()

我不确定是什么
意味着。。。这意味着覆盖现有命令。我发现这很有用:>
:com
现有cmd名称cmd替换
command! -nargs=1 MyCommand call s:MyFunc(<f-args>)