Item sintaks di mana Vim akan menyoroti kesalahan ejaan didefinisikan menggunakan @Spell
dan @NoSpell
cluster. Lihat :help spell-syntax
(dan sisanya :help spell
dan :help syntax
file) untuk detail lengkap.
Perbaikan cepat dan kotor untuk mendapatkan hasil yang Anda inginkan adalah membuat file baru di direktori konfigurasi Vim Anda: .vim/after/syntax/html.vim
dengan konten:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
Baris-baris ini menentukan penyorotan sintaksis untuk atribut HTML, dan disalin dari file html.vim yang disertakan dalam file sintaksis standar Vim. Saya kemudian menambahkan @Spell
cluster ke contains
bidang untuk mengaktifkan pemeriksa ejaan dalam setiap item sintaks.
Untuk menerapkan ini hanya pada atribut "title" dan "data- *" memerlukan fine-tuning ekspresi reguler yang digunakan untuk mencocokkan item, dan pengeditan sedikit lebih luas dari cara kerja penyorotan HTML bekerja. Berikut ini solusi yang hanya berfungsi untuk atribut "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
- Ekspresi reguler sekarang termasuk nama
title
atribut, dan offset sehingga bagian dari item sintaks ini tidak termasuk dalam penyorotan. (Lihat :help syn-pattern-offset
)
- Item sintaks sekarang memiliki namanya sendiri, dan karena itu perlu (i) menjadi
containedin
semua item sintaksis yang htmlStrings terkandung melalui contains
pengaturan masing-masing . (ii) menerapkan penyorotan sendiri.
Dari
/usr/share/vim/vim74/syntax/html.vim
:Untuk menambahkan dukungan ejaan, kita perlu menambahkan
@Spell
kata kunci (lihat:help spell-syntax
) seperti:Anda harus memasukkan ini ke dalam
~/.vim/after/syntax/html.vim
sehingga akan menimpa aturan sintaksis default.Kiat bonus:
Baris pertama untuk atribut dalam string yang dikutip ganda (
attr="value"
), dan yang kedua jika untuk string yang dikutip tunggal (attr='value'
). Anda juga dapat mengesampingkan salah satunya saja, sehingga Anda dapat memilih apakah Anda telah memeriksa ejaan.sumber