Tôi có một số highlightlệnh trong .vimrctậ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 .vimrclầ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
.vimrctập tin của bạn .Thay thế
~/.vimrcbằng một tập tin chỉ chứa dònghighlight Type ctermfg=28 cterm=bold.Chạy
vim dummy.ctrong một thiết bị đầu cuối 256 màu (ví dụ: Thiết bị đầu cuối Gnome).Gõ
intvào bộ đệm. Cácintsẽ 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ờintnê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 highlightlệnh vào là được .vimrc. Bài báo nói rằng bạn nên đặt syntax enablesau các highlightlệ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 highlightlệnh trong .vimrcvớ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 highlightlệ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 compatiblevà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.
highlightlệ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. ☹