2010-07-09 21 views
37

VIM'de bir bağımsız değişken alan ve kullanıcı tarafından sağlanan argümanla bir işlev çağıran kullanıcı tanımlı bir komut oluşturmaya çalışıyorum. Basit görünüyor ama işe almak için alamıyorum. İşte benim foo.vim eklentisinden kodudur:VIM: Kullanıcı komutlarından bağımsız değişkenlere işlevler nasıl iletilir?

function! s:MyFunc(myParam) 
    do something 
endfunction 

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

Böyle bir VIM tamponu içinde bu denemek olduğunda:

:MyCommand exampleParam 

alıyorum Aşağıdaki hatalar:

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

Burada neyin var? Bunu nasıl düzeltirim? Herhangi bir yardım büyük beğeni topluyor.

cevap

50

Kullanım <f-args>: Çalışır

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

! Teşekkür ederim! Teşekkür ederim! ve tekrar: Teşekkürler !!! – venk

+0

"!" Ifadesinin ne anlama geldiğinden emin değildim. Bunu yararlı buldum: http://www.adp-gmbh.ch/vim/user_commands.html \t > ': com!' 'Mevcut-cmd-name cmd-replacement' – alockwood05

İlgili konular