Tôi có một số highlight
lệnh trong .vimrc
tập tin của tôi . Trong Vim 7.3, những thứ này có hiệu lực ngay sau khi Vim bắt đầu. Sau khi cập nhật lên Vim 7.4, đây không còn là trường hợp nữa. Vim sử dụng đánh dấu mặc định ban đầu của nó. Khi tôi tải .vimrc
lần thứ hai bằng cách thực thi source ~/.vimrc
, tô sáng hoạt động như tôi muốn.
Bạn sẽ có thể tái tạo vấn đề này bằng các bước sau:
Tạo một bản sao của
.vimrc
tập tin của bạn .Thay thế
~/.vimrc
bằng một tập tin chỉ chứa dònghighlight Type ctermfg=28 cterm=bold
.Chạy
vim dummy.c
trong một thiết bị đầu cuối 256 màu (ví dụ: Thiết bị đầu cuối Gnome).Gõ
int
vào bộ đệm. Cácint
sẽ xuất hiện trong phông chữ thường và có màu xanh nhạt, mà không phải là những gì tôi muốn.Nhập
:source ~/.vimrc
. Bây giờint
nên xuất hiện trong phông chữ đậm và được tô màu xanh đậm.
Theo bài viết Cách kiểm soát / cấu hình màu vim , chỉ cần đặt các highlight
lệnh vào là được .vimrc
. Bài báo nói rằng bạn nên đặt syntax enable
sau các highlight
lệnh, nhưng điều này không tạo ra sự khác biệt nào.
Sửa chữa đầu tiên của tôi là để thêm vào trước mỗi highlight
lệnh trong .vimrc
với autocmd VimEnter *
. Điều này làm việc cho một số loại tệp, nhưng không phải cho các loại khác (tệp C là một ví dụ).
Lý do cho hành vi này là gì? Làm cách nào để các highlight
lệnh được thực thi khi Vim được khởi động sao cho chúng có hiệu lực cho tất cả các bộ đệm trong toàn bộ phiên Vim?
set compatible
vào lúc bắt đầu .vimrc
, tô sáng cú pháp hoạt động như mong đợi. Vì vậy, đây thực sự có vẻ là lỗi này trong hành động.
highlight
lệnh với autocmd ColorScheme *
, được đề xuất như một cách giải quyết trong báo cáo lỗi. Nó vẫn không hoạt động. ☹