37
Próbuję utworzyć polecenie zdefiniowane przez użytkownika w VIM, które przyjmuje jeden argument i wywołuje funkcję z argumentem dostarczonym przez użytkownika. Wydaje się proste, ale nie mogę go uruchomić. Oto kod z mojego foo.vim plugin:VIM: Jak przekazywać argumenty do funkcji z poleceń użytkownika?
function! s:MyFunc(myParam)
do something
endfunction
command! -nargs=1 MyCommand call s:MyFunc(myParam)
Kiedy próbuję to w buforze VIM tak:
:MyCommand exampleParam
uzyskać następujące błędy:
E121: Undefined variable: myParam
E116: Invalid arguments for function <SNR>7_MyFunc
Co jest nie tak? Jak to naprawić? Każda pomoc jest bardzo doceniana.
To działa! Dziękuję Ci! Dziękuję Ci! i jeszcze raz: dziękuję !!! – venk
Nie byłem pewien, co oznaczało '!' ... oznacza zastąpienie istniejącego polecenia. Znalazłem to pomocne: http://www.adp-gmbh.ch/vim/user_commands.html \t > ': com!' 'Istniejące-cmd-name cmd-replacement' – alockwood05