Sự hiểu biết của tôi là ansi-term
chỉ hỗ trợ 8 màu (một cuộc thảo luận tốt về điều này trong reddit ở đây ).
Trong khi đó, ngày càng có nhiều trình giả lập thiết bị đầu cuối (ví dụ tmux
hoặc iTerm2
trong OS X) hỗ trợ True color
(24 bit, tức là 16 triệu màu). Một danh sách tốt có thể được tìm thấy ở đây .
- Nếu nắp 8 màu đặc trưng cho
ansi-term
, có bất kỳ gói nào khác cho mô phỏng thiết bị đầu cuối đang cố gắng giải quyết giới hạn này không? - Có kế hoạch nào để
True color
hỗ trợ cho trình giả lập thiết bị đầu cuối trong Emacs không?
Và có thể để xác nhận:
- Có cách nào để có hiệu quả hơn 8 màu trong
ansi-term
bộ đệm không? - Điều chỉnh
ansi-color-names-vector
vẫn là cách thiết lậpansi-term
màu sắc được đề xuất trong Emacs25
?
Cách kiểm tra nếu trình giả lập hỗ trợ " Màu thật ":
Đây là đoạn trích từ liên kết ở trên sẽ kiểm tra xem trình giả lập có hỗ trợ màu thật không:
awk 'BEGIN{
s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
for (colnum = 0; colnum<77; colnum++) {
r = 255-(colnum*255/76);
g = (colnum*510/76);
b = (colnum*255/76);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'
Nếu được hỗ trợ, dòng dưới cùng sẽ hiển thị một gradient đẹp như màu hiển thị bên dưới:
Từ những gì tôi đọc được, NeoVim (một biên tập viên VIM) đã thêm hỗ trợ cho nó vào năm 2015 và đã có một yêu cầu được đưa ra cho các lỗi Emacs để thêm nó.
ansi-color-names-vector
là một biến tôi có thể tùy chỉnh. Bên cạnh đó, tôi chạymulti-term
và với zsh là shell. Kịch bản của bạn không tạo ra đầu ra tích cực :-(