2010-11-01 6 views
17

मैं jQuery Omnicomplete के कुछ रूप प्रदान करने के लिए विम प्राप्त करने की कोशिश कर रहा हूं। मैंने jquery जेएस फ़ाइल के आधार पर टैग जेनरेट करने के लिए ctags का उपयोग किया है। जो बाद मैंविम जावास्क्रिप्ट omnicomplete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS 

जिसके बाद मैं टैग फ़ाइल मैं

set tags+=~/.vim/tags/jquery 

जब मैं एक js फ़ाइल को खोलने के लिए बनाया करने के लिए टैग चर सेट का उपयोग कर जावास्क्रिप्ट के लिए omnicompletion चालू कर दी है, और प्रयोग :ta मैं मैं जिस समारोह को चाहता हूं उसे ढूंढने में सक्षम हूं, लेकिन जब मैं omnicompletion का उपयोग करने की कोशिश करता हूं, तो यह चालू नहीं होता है। उदाहरण के लिए, मैं इस कोड नेट से परीक्षण करने के लिए ले लिया:

$("input").has(".email").addClass("email_icon");  

विम में, $("input"). टाइप करने के बाद, मैं टैब मारा (साथ supertab की स्थापना) और has बारी नहीं है, भले ही मैं इसे माध्यम से प्राप्त कर सकते हैं अस्पष्ट खोजक या :ta

इस समाधान को हल करने के लिए मैं क्या कर सकता हूं? धन्यवाद! :)

उत्तर

5

javascriptcomplete#CompleteJSctags फ़ाइल को पूरा करने के लिए उपयोग नहीं करता है।

आप क्या कर सकते हैं, आप jQuery के लिए अपना स्वयं का ओमनी-पूर्ण फ़ंक्शन लिख सकते हैं, या इससे भी बेहतर, अपनी आवश्यकताओं के अनुसार /usr/share/vim/vim72/autoload/javascriptcomplete.vim में परिभाषित फ़ंक्शन javascriptcomplete#CompleteJS का विस्तार कर सकते हैं।

+2

वैसे, आप 'सी-एक्स सी-]' के साथ टैग-आधारित समापन तक पहुंच सकते हैं, या सुपरटाब आपके लिए इसे आजमा सकते हैं। – ches

5

जावास्क्रिप्ट स्वत: पूर्णता प्राप्त करने का एक और तरीका मोज़िला के 'jsctags' प्रोजेक्ट का उपयोग करना होगा। यह 'exuberant ctags' की तुलना में जावास्क्रिप्ट के लिए बेहतर टैग उत्पन्न करता है। उम्मीद है कि जब आप supertab & टैगलिस्ट-प्लस का उपयोग करते हैं तो आप और अधिक देखेंगे। http://www.discontinuously.com/2011/03/vim-support-javascript-taglist-plus/

6

उपयोग मोज़िला DoctorJS (पूर्व jsctags) है, जो भी Cloud9 IDE के Ace online editor में प्रयोग किया जाता है:

अधिक जानकारी के लिए

अधिक जानकारी (इंस्टॉल, कॉन्फ़िगरेशन इत्यादि) के लिए this question और this question के लिए मेरे उत्तर देखें।

+0

क्या डॉक्टरजेएस jQuery स्रोत को संभाल सकता है ("इसे आजमाएं" सुविधा सक्षम नहीं है)। –

+0

मुझे कोई जानकारी नहीं है। माफ़ कीजिये। आपको कोशिश करनी होगी और देखना होगा। –

+1

ऐसा लगता है कि jquery प्लगइन्स के लिए ctags उत्पन्न ठीक है, लेकिन jquery के लिए नहीं (यह स्पष्ट रूप से बहुत पहले उपयोग किया जाता था, लेकिन यह टूटा हुआ है)। – hendrixski