Định nghĩa màu được năng lượng hóa trong tệp vimrc


7

Chủ đề năng lượng mặt trời xác định một số màu cơ bản và gán chúng cho các biến, như được thấy ở đây .

Tôi muốn biết làm thế nào tôi có thể sử dụng các định nghĩa màu này trong .vimrctập tin của tôi . Hiện tại, tôi sử dụng mầm bệnh để tải năng lượng mặt trời và nó được tải đơn giản syntax enabledcolorscheme solarized, nhưng khi tôi muốn tham chiếu, ví dụ như s:base00trong .vimrctệp của mình , tôi gặp lỗi:

E421: Color name or number not recognized: ctermfg=s:base00

3
"một lỗi" không phải là rất hữu ích. Vui lòng cho biết thông báo lỗi chính xác mà bạn nhận được.
Mat

E421: Tên hoặc số màu không được nhận dạng: ctermfg = s: base00
Kitaro

Câu trả lời:


7

Có hai vấn đề:

  • Các :highlightlệnh không đánh giá ctermfggiá trị như biểu thức. Nó chỉ chấp nhận một số màu theo nghĩa đen hoặc tên màu (xem :help cterm-colors). Bạn nhận được E421 vì s:base00không phải là số, cũng không phải tên màu hợp lệ.

    Bạn có thể sử dụng execute 'highlight GroupName ctermfg=' . s:base00để xây dựng một chuỗi lệnh và thực thi nó (về cơ bản đây là những gì colors/solarized.vim); tuy nhiên có một vấn đề khác

  • Các biến bắt đầu bằng s:các biến cục bộ-tập lệnh (xem :help s:var), vì vậy chúng không thể truy cập được trong .vimrc(hoặc bất kỳ nơi nào ngoại trừ tập lệnh được xác định colors/solarized.vim:).

    Tập lệnh xác định xuất khẩu các giá trị màu như là một phần của các nhóm tô sáng mà nó xác định, nhưng dường như không xuất các giá trị cterm / gui riêng lẻ mà nó sử dụng cho mỗi màu Solarized. Nếu bạn muốn tạo nhóm đánh dấu của riêng mình sử dụng các giá trị này, thì có lẽ bạn sẽ phải chỉnh sửa nó thành bản sao của mình colors/solarized.vim(mặc dù bạn có thể muốn sử dụng s:fg_base00/ s:bg_base00thay vì s:base00kể từ bìa trước guifgso với ctermfgnhóm của bạn sẽ tự động hoạt động cả GUI và thiết bị đầu cuối).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.