Elementy składni, w których Vim będzie podkreślał błędy ortograficzne, są definiowane za pomocą klastrów @Spelli @NoSpell. Zobacz :help spell-syntax(i resztę plików :help spelli :help syntax), aby uzyskać szczegółowe informacje.
Szybką i brudną poprawką do uzyskania pożądanego rezultatu jest utworzenie nowego pliku w katalogu konfiguracyjnym Vima: .vim/after/syntax/html.vimz zawartością:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
Te linie definiują podświetlanie składni atrybutów HTML i zostały skopiowane z pliku html.vim, który jest zawarty w standardowych plikach składniowych Vima. Następnie dodałem @Spellklaster do containspola, aby umożliwić sprawdzanie pisowni w każdym elemencie składni.
Aby zastosować to tylko do atrybutów „tytuł” i „dane- *”, konieczne jest dostrajanie wyrażenia regularnego używanego do dopasowywania elementów oraz nieco szersza edycja sposobu działania podświetlania HTML. Oto rozwiązanie, które działa tylko w przypadku atrybutów „tytuł”:
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
NB
- Wyrażenie regularne zawiera teraz nazwę
titleatrybutu i przesunięcie, dzięki czemu ta część elementu składni nie jest uwzględniona w wyróżnieniu. (Patrz :help syn-pattern-offset)
- Element składni ma teraz swoją własną nazwę, dlatego musi (i) być
containedinwszystkimi elementami składni, w których zawarte są htmlString poprzez odpowiednie containsustawienia. (ii) zastosować własne wyróżnienie.