सिंटैक्स आइटम जिसके भीतर विम वर्तनी वर्तनी की गलतियों को उजागर करेगा @Spellऔर @NoSpellसमूहों का उपयोग करके परिभाषित किया गया है । देखें :help spell-syntax(और के बाकी :help spellऔर :help syntaxफ़ाइलें) पूर्ण विवरण के लिए।
अपना वांछित परिणाम प्राप्त करने के लिए त्वरित और गंदे तय करना अपने विम कॉन्फ़िगरेशन निर्देशिका में एक नई फ़ाइल बनाना है: .vim/after/syntax/html.vimसामग्री के साथ:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
ये पंक्तियाँ HTML विशेषताओं के लिए सिंटैक्स हाइलाइटिंग को परिभाषित करती हैं, और उन्हें HTML.vim फ़ाइल से कॉपी किया गया था जो विम के मानक सिंटिपल फ़ाइलों में शामिल है। फिर मैंने प्रत्येक सिंटैक्स आइटम के भीतर वर्तनी-जांच को सक्षम करने के लिए @Spellक्लस्टर को containsफ़ील्ड में जोड़ा ।
इसे केवल "शीर्षक" और "डेटा- *" विशेषताओं पर लागू करने के लिए, वस्तुओं के मिलान के लिए उपयोग की जाने वाली नियमित अभिव्यक्ति को ठीक-ठीक ट्यूनिंग की आवश्यकता होती है, और HTML हाइलाइटिंग कार्यों के तरीके का थोड़ा अधिक व्यापक संपादन। यहां एक समाधान है जो "शीर्षक" विशेषताओं के लिए काम करता है:
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
एनबी
- नियमित अभिव्यक्ति में अब
titleविशेषता का नाम और एक ऑफसेट शामिल है ताकि वाक्य रचना के आइटम का यह हिस्सा हाइलाइटिंग में शामिल न हो। (देखें :help syn-pattern-offset)
- सिंटैक्स आइटम का अब अपना नाम है, और इसलिए (i) उन
containedinसभी सिंटैक्स आइटमों की आवश्यकता है जो htmlStrings उनकी संबंधित containsसेटिंग्स के माध्यम से निहित हैं। (ii) का अपना हाइलाइटिंग लागू है।