Vim có thể xuất các màu ANSI từ thiết bị đầu cuối mà không cần bảng màu không?


7

Nhiều trình giả lập thiết bị đầu cuối cho phép bạn xác định màu sắc:

nhập mô tả hình ảnh ở đây

Thay vì cố gắng xấp xỉ (và trùng lặp!) Cùng một chủ đề trong bảng màu Vim, có cách nào để nói với thiết bị đầu cuối Vim để xuất mã thoát ANSI cho các màu mà tôi đã xác định ("đỏ", "xanh", "vàng "," màu đỏ tươi ", v.v.)?

Nếu không, tai sao không?

Câu trả lời:


7

Giả sử trình giả lập thiết bị đầu cuối của bạn không yêu cầu hỗ trợ 256 màu ( $ echo $TERMnên xuất chuỗi không chứa 256color) và bạn không nói dối với Vim về điều đó ( :echo &t_Conên xuất 8hoặc 16), Vim nên tôn trọng các màu "ANSI" mà bạn đã xác định trong trình giả lập thiết bị đầu cuối của bạn.

Tất cả các bảng màu tích hợp đều sử dụng các màu "ANSI" đó - theo tên hoặc theo số - theo mặc định nhưng nhiều bảng màu của bên thứ ba được thiết kế riêng cho GUI và / hoặc cho trình giả lập thiết bị đầu cuối 256 màu. Những màu sắc đó thường không hoạt động (hoặc rất kém) trong các thiết lập 8/16 màu.

Vì vậy, bạn sẽ cần thử nghiệm với các màu sắc tích hợp và bên thứ ba để tìm ra sự kết hợp "hoàn hảo".

Bạn có thể tìm kiếm các manh mối dưới đây để biết liệu một colorcheme có hoạt động trong thiết lập của bạn không:

ctermfg=red    use of names means it works in 8/16 color terminals
ctermfg=7      use of numbers below 16 means it works in 8/16 color terminals
ctermfg=123    use of numbers between 16 and 255 means it works in 256 color terminals
guifg=...      means it works in GUI Vim
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.