Подтвердить что ты не робот

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

Что здесь не так? Как это исправить? Любая помощь приветствуется.

4b9b3361

Ответ 1

Используйте <f-args>:

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