Các mục cú pháp trong đó Vim sẽ làm nổi bật các lỗi chính tả được xác định bằng cách sử dụng @Spell
và @NoSpell
cụm. Xem :help spell-syntax
(và phần còn lại của tệp :help spell
và :help syntax
) để biết chi tiết đầy đủ.
Cách khắc phục nhanh và bẩn để có kết quả mong muốn là tạo một tệp mới trong thư mục Vim config: .vim/after/syntax/html.vim
với nội dung:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
Các dòng này xác định tô sáng cú pháp cho các thuộc tính HTML và được sao chép từ tệp html.vim có trong các tệp cú pháp chuẩn của Vim. Sau đó tôi đã thêm @Spell
cụm vào contains
trường để cho phép kiểm tra chính tả trong từng mục cú pháp.
Để chỉ áp dụng điều này cho các thuộc tính "title" và "data- *", cần phải tinh chỉnh biểu thức chính quy được sử dụng để khớp với các mục và chỉnh sửa rộng hơn một chút về cách hoạt động của tô sáng HTML. Đây là một giải pháp chỉ hoạt động cho các thuộc tính "tiêu đề":
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
Lưu ý
- Biểu thức chính quy hiện bao gồm tên của
title
thuộc tính và phần bù để phần này của mục cú pháp không được đưa vào phần tô sáng. (Xem :help syn-pattern-offset
)
- Mục cú pháp hiện có tên riêng và do đó cần phải (i) là
containedin
tất cả các mục cú pháp mà htmlStrings được chứa trong thông qua các contains
cài đặt tương ứng của chúng . (ii) có điểm nhấn riêng được áp dụng.