37
मैं वीआईएम में उपयोगकर्ता द्वारा परिभाषित कमांड बनाने की कोशिश कर रहा हूं जो एक तर्क लेता है और उपयोगकर्ता द्वारा दिए गए तर्क के साथ एक फ़ंक्शन को कॉल करता है। सरल लगता है लेकिन मैं इसे काम करने में असमर्थ हूं। यहाँ मेरी foo.vim प्लगइन से कोड है:वीआईएम: उपयोगकर्ता कमांड से कार्यों के लिए तर्क कैसे पास करें?
function! s:MyFunc(myParam)
do something
endfunction
command! -nargs=1 MyCommand call s:MyFunc(myParam)
जब मैं इस इस तरह एक विम बफर में आजमा कर देखें:
:MyCommand exampleParam
मैं निम्नलिखित त्रुटियाँ:
E121: Undefined variable: myParam
E116: Invalid arguments for function <SNR>7_MyFunc
यहाँ क्या गलत है? मैं यह कैसे तय करुं? कोई भी मदद बहुत ही सराहनीय होगी।
यह काम करता है! धन्यवाद! धन्यवाद! और फिर: धन्यवाद !!! – venk
मुझे यकीन नहीं था कि '!' का मतलब क्या था ... इसका मतलब मौजूदा कमांड को ओवरराइट करना है। मुझे यह सहायक मिला: http://www.adp-gmbh.ch/vim/user_commands.html \t > 'com: 'मौजूदा-cmd-name cmd-replacement' – alockwood05