รายการไวยากรณ์ที่ Vim จะเน้นการสะกดคำผิดถูกกำหนดโดยใช้@Spell
และ@NoSpell
กลุ่ม ดู:help spell-syntax
(และส่วนที่เหลือของ:help spell
และ:help syntax
ไฟล์) สำหรับรายละเอียดแบบเต็ม
การแก้ไขที่รวดเร็วและสกปรกเพื่อให้ได้ผลลัพธ์ตามที่คุณต้องการคือการสร้างไฟล์ใหม่ในไดเรกทอรี Vim config ของคุณ: .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 ที่รวมอยู่ในไฟล์ไวยากรณ์มาตรฐานของ Vim ฉันเพิ่ม@Spell
คลัสเตอร์ในcontains
ฟิลด์เพื่อเปิดใช้งานการตรวจการสะกดภายในรายการไวยากรณ์แต่ละรายการ
เพื่อที่จะใช้สิ่งนี้กับแอตทริบิวต์ "ชื่อเรื่อง" และ "data- *" ต้องมีการปรับการแสดงออกปกติที่ใช้สำหรับการจับคู่รายการและการแก้ไขเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการทำงานของการเน้น HTML ต่อไปนี้เป็นโซลูชันที่ใช้งานได้กับแอตทริบิวต์ "ชื่อ" เท่านั้น:
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
NB
- ตอนนี้นิพจน์ปกติจะรวมชื่อของแอ
title
ททริบิวต์และออฟเซ็ตเพื่อให้ส่วนนี้ของรายการไวยากรณ์ไม่รวมอยู่ในการไฮไลต์ (ดู:help syn-pattern-offset
)
- ตอนนี้ไอเท็มไวยากรณ์มีชื่อของตัวเองและดังนั้นจึงจำเป็นต้อง (i) เป็น
containedin
ไอเท็มไวยากรณ์ทั้งหมดที่ htmlStrings มีอยู่ผ่านcontains
การตั้งค่าที่เกี่ยวข้อง (ii) ใช้การไฮไลต์ของตนเอง