Vim:如何从用户命令将参数传递给函数?

问题描述 投票:0回答:1

我正在尝试在 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

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

vim
1个回答
76
投票

使用

<f-args>

command! -nargs=1 MyCommand call s:MyFunc(<f-args>)
© www.soinside.com 2019 - 2024. All rights reserved.