2008-09-12 15 views
44

में जावास्क्रिप्ट सिंटैक्स हाइलाइटिंग क्या किसी और को जावास्क्रिप्ट उप-इष्टतम की वीआईएम का सिंटैक्स हाइलाइटिंग मिला है? मुझे लगता है कि कभी-कभी मुझे सिंटैक्स हाइलाइटिंग को समायोजित करने के लिए चारों ओर स्क्रॉल करने की आवश्यकता होती है, कभी-कभी यह रहस्यमय रूप से सभी हाइलाइटिंग को छोड़ देता है।विम

क्या कोई काम-आसपास या इसे ठीक करने के तरीके हैं? मैं विम 7.1 का उपयोग कर रहा हूँ।

उत्तर

29

आप VIMRUNTIME के ​​साथ जहाजों की तुलना में इस improved Javascript syntax highlighter को आजमा सकते हैं।

+0

अच्छा। यह jsdoc के लिए हाइलाइटिंग का भी समर्थन करता है। धन्यवाद! – asksol

+0

सावधान: मैंने देखा है कि उन्नत हाइलाइटर के लेखक ने हालिया संस्करण में सिंटैक्स सिंक से शुरू किया है ... इसलिए आपने जो मुद्दा देखा है, वह इस हाइलाइटर में हो सकता है। अतीत में लगता है, यह हमेशा से शुरू किया था। –

+0

मैंने 9/12/08 रिलीज और 05/17/07 रिलीज दोनों की कोशिश की है, और उनमें से कोई भी स्थिति में सुधार नहीं करता है। मध्य में एक जटिल जावास्क्रिप्ट फ़ाइल खोलने के परिणामस्वरूप अभी भी कोई हाइलाइटिंग नहीं होती है, और मुझे कई पृष्ठों को स्क्रॉल करना होगा ताकि विम सही ढंग से हाइलाइट करना शुरू हो सके। –

12

सिंटेक्स रंग सिंक्रनाइज़ेशन को शायद समायोजन की आवश्यकता है। मुझे कुछ संदर्भों में मिला है कि मुझे इसे बदलने की जरूरत है।

सिंटेक्स सिंक्रनाइज़ेशन (": सिंक सिंक सिंक्रनाइज़ेशन") नियंत्रित करता है कि कैसे vim रंग के लिए कोड के अपने पार्स को ट्रैक और रीफ्रेश करता है, ताकि वह फ़ाइल में कहीं भी ड्राइंग शुरू कर सके।

चूक हमेशा मेरे लिए काम नहीं करते, तो कभी कभी मैं अपने आप को

:syn sync fromstart 

मैं

:help syn-sync 

या के तहत प्रलेखन के माध्यम से पढ़ने का सुझाव जारी करने के बस की जाँच

:help syntax 
लगता है

और सिंक्रनाइज़ेशन पर अनुभाग खोजें। चार उपलब्ध बुनियादी विकल्पों में एक सूचित निर्णय लेने के लिए

। मैं "सेस्टार्ट" और "कॉममेंट" मोड के बीच स्विच करने के लिए और सिंक सेटिंग्स को साफ़ करने के लिए फ़ंक्शन कुंजियों में मैपिंग बनाए रखता हूं।

3

एक त्वरित और गंदे फिक्स के लिए, कभी-कभी मैं बस ऊपर और नीचे स्क्रॉल करता हूं और हाइलाइटिंग समायोजन करता है। Ctrl + एल स्क्रीन रीड्रॉ के लिए इसे ठीक भी कर सकता है।

15

ठीक है, मैंने Yi Zhao's Javascript Syntax संशोधित किया है, और अजाक्स कीवर्ड समर्थन जोड़ा है, डीओएम तरीके और अन्य को भी हाइलाइट किया है।

यहां यह है कि यह सही होने से बहुत दूर है क्योंकि मैं अभी भी विम के लिए नया हूं, लेकिन अब तक यह मेरे लिए काम करता है। My Javascript Syntax। यदि आप ठीक कर सकते हैं, सुविधाओं को जोड़ें, कृपया करें।

अद्यतन: मैं भूल गया कि इन वाक्यविन्यास हाइलाइट्स केवल तभी दिखाए जाते हैं जब आपने उन्हें अपने स्वयं के रंगों में शामिल किया हो, जैसा कि मैंने अपने Nazca रंगों में किया था। मैं परीक्षण करूंगा कि क्या मैं इन संशोधित वाक्यविन्यास फ़ाइल में इन पंक्तियों को जोड़ सकता हूं।

github में जावास्क्रिप्ट सिंटैक्स फ़ाइल के नए संस्करण का पालन करें, क्योंकि अब आपके वर्तमान रंगमंच को संशोधित करने की आवश्यकता नहीं है।

+0

मुझे आपके स्क्रीनशॉट के रूप में पसंद है, लेकिन आपकी वाक्यविन्यास फ़ाइल नहीं है ' जब मैं इसे लोड करता हूं तो मानक विम जेएस सिंटैक्स से कुछ भी अलग नहीं करता हूं। मेरे पास अन्य कस्टम सिंटैक्स फ़ाइलें हैं, इसलिए मैं सोच रहा हूं कि आपका काम क्यों नहीं करता .. – djeikyb

+0

मेरा यी झोउ पर आधारित है जो मुझे मानक विम जेएस सिंटैक्स से बेहतर तरीके से मिलता है। इसके अलावा, मैंने विम के लिए अपने 'नाज़का' रंगों के लिए अतिरिक्त लाइनें जोड़ दीं। मैंने इन पंक्तियों को सीधे संशोधित वाक्यविन्यास फ़ाइल में जोड़ने का प्रयास नहीं किया है। असल में इन लाइनों को अपने स्वयं के रंगों में जोड़ने के लिए यह बहुत आसान और सरल है। –

+0

आह, यह कुछ भी नहीं किया क्योंकि मैंने नहीं देखा कि आपको जो भी रंग योजना में अतिरिक्त लाइनें जोड़नी होंगी। इसे अब पा लिया है। धन्यवाद! – djeikyb

3

यह वास्तव में पुरानी पोस्ट है, लेकिन मुझे एक ही चीज़ का सामना करना पड़ रहा था: कभी-कभी सिंटैक्स हाइलाइट .html फ़ाइल में जावास्क्रिप्ट अनुभाग को देखते समय काम करना बंद कर देगा। चूंकि ओपी का उल्लेख है, एक त्वरित कामकाज स्क्रॉल करना था और फिर जादुई चीजें फिर से हाइलाइट करना शुरू कर देंगे।

आज मुझे अंतर्निहित समस्या और एक अच्छा समाधान मिला। विम में, वाक्यविन्यास हाइलाइटिंग सही हाइलाइट प्राप्त करने के लिए एक संदर्भ का उपयोग करता है, जहां संदर्भ पिछली पंक्तियों द्वारा परिभाषित किया गया है।:syntax sync minlines=200 जारी करके वर्तमान पंक्ति का उपयोग करने से पहले कितनी लाइनें निर्दिष्ट करना संभव है। इस मामले में, यह संदर्भ के रूप में 200 पिछली पंक्तियों का उपयोग करेगा। :syntax sync fromstart चलाकर पूरी फ़ाइल (जो लंबी फ़ाइलों के लिए धीमी हो सकती है) का उपयोग करना संभव है।

एक बार मुझे लगता है कि मिल गया है, मैं अपने .vimrc को यह लाइन कहा:

autocmd BufEnter *.html :syntax sync fromstart 

ऐसा करके, .html फ़ाइलें संदर्भ के रूप में पूरी फ़ाइल का प्रयोग करेंगे। इस प्रकार, जावास्क्रिप्ट अनुभाग हमेशा जेएस अनुभाग कितना समय तक ध्यान दिए बिना, हाइलाइट किया जाएगा। उम्मीद है कि यह किसी और की मदद करता है!

+0

यह HTML/JS वाक्यविन्यास हाइलाइट समस्या को ठीक करने का सबसे अच्छा समाधान है। मुझे नहीं पता कि वीआईएम में अभी भी यह बग क्यों है जिसे ठीक नहीं किया जा सका। https://github.com/vim/vim/issues/1775 – northtree