2012-03-14 11 views
8

मैं टैगबार, जेएसक्टैग और टैगलिस्ट-प्लस प्लगइन के साथ विम का उपयोग कर रहा हूं। वे सभी सही ढंग से काम करने लगते हैं, लेकिन मैं एक समारोह/परिवर्तनीय घोषणा पर कूद नहीं सकता। मैंने ctrl +] की कोशिश की लेकिन यह काम नहीं करता है। क्या यह विम सेटअप करना संभव है ताकि आप किसी फ़ंक्शन या परिवर्तनीय घोषणा पर जा सकें?विम में जावास्क्रिप्ट फ़ंक्शन परिभाषा पर कैसे कूदें?

+0

मान लीजिए कि आप 'var name = 'के साथ अपने कार्यों और चर को परिभाषित कर रहे हैं ... क्या आप केवल' var/name' नहीं कर सकते? – jondavidjohn

+0

मुझे लगता है कि काम कर सकता है, लेकिन यह आसान होगा अगर मैं इसे केवल कार्यों के लिए ढूंढने के लिए शॉर्टकट कुंजी दबा सकता हूं। –

उत्तर

6

jsctags की आवश्यकता होगी, बिना, मैं सही ढंग से निपटने के लिए जावास्क्रिप्ट मेरी ~/.ctags में निम्नलिखित है:

--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/                        
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/o,object/ 
--regex-JavaScript=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/f,function/ 
--regex-JavaScript=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\([^\]\)]*\)/\1/f,function/ 
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Array\(/\1/a,array/ 
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/a,array/ 
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/s,string/ 
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/s,string/ 

ऊपर का उपयोग करना, एक सरल ctags -R जावास्क्रिप्ट समारोह (और चर और वस्तु मैच के लिए उपयुक्त tagfile उत्पन्न करता है) परिभाषाएं।

+0

मैंने कोशिश की और यह अभी भी फ़ंक्शन परिभाषाओं पर कूदने में सक्षम नहीं है। –

+0

@javascriptninja और आपने इन्हें जोड़ने के बाद अपनी टैग फ़ाइल को पुन: उत्पन्न किया? –

+0

हाँ, मैंने अभी ctags -R टाइप किया है। –

3

टैगबार और टैगलिस्ट परिभाषाओं पर कूदने के लिए विम द्वारा उपयोग की जाने वाली वास्तविक tags फ़ाइल उत्पन्न नहीं करते हैं।

आप कूदने के लिए आप टर्मिनल से मैन्युअल रूप से इस फाइल को उत्पन्न करने के लिए है इस क्षमता चाहते हैं:

$ ctags -R . 

अगर आप ctags या का उपयोग करें:

$ jsctags . 

अगर आप jsctags का उपयोग करें या विम से ही ।

संबंधित मुद्दे