Elementy składni, w których Vim będzie podkreślał błędy ortograficzne, są definiowane za pomocą klastrów @Spell
i @NoSpell
. Zobacz :help spell-syntax
(i resztę plików :help spell
i :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.vim
z 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 @Spell
klaster do contains
pola, 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ę
title
atrybutu 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ć
containedin
wszystkimi elementami składni, w których zawarte są htmlString poprzez odpowiednie contains
ustawienia. (ii) zastosować własne wyróżnienie.