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属性の構文強調表示を定義し、Vimの標準構文ファイルに含まれているhtml.vimファイルからコピーされました。次に、各構文項目内のスペルチェックを有効にするために、@Spell
クラスターをcontains
フィールドに追加しました。
これを「title」属性と「data- *」属性にのみ適用するには、アイテムの一致に使用される正規表現を微調整し、HTML強調表示の動作を少し広範囲に編集する必要があります。「title」属性のみで機能するソリューションは次のとおりです。
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)独自の強調表示を適用します。