सिंटैक्स आइटम जिसके भीतर विम वर्तनी वर्तनी की गलतियों को उजागर करेगा @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) का अपना हाइलाइटिंग लागू है।