Nhận được hơn 8 màu trong trình giả lập thiết bị đầu cuối bên trong Emacs


14

Sự hiểu biết của tôi là ansi-termchỉ 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ụ tmuxhoặc iTerm2trong 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 colorhỗ 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-termbộ đệm không?
  • Điều chỉnh ansi-color-names-vectorvẫn là cách thiết lập ansi-termmàu sắc được đề xuất trong Emacs 25?

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:

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


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ó.


Kể từ Emacs 26, tôi không thể xem ansi-color-names-vectorlà một biến tôi có thể tùy chỉnh. Bên cạnh đó, tôi chạy multi-termvà với zsh là shell. Kịch bản của bạn không tạo ra đầu ra tích cực :-(
spav

Câu trả lời:


2

Đúng là ansi-term chỉ hỗ trợ 8 màu, nhưng, bằng cách sử dụng xterm-color.el thay vì ansi-color.el, bạn có được 256 màu.

"Trình dịch thuộc tính văn bản màu ANSI & xterm-256 cho Emacs"

https://github.com/atomontage/xterm-color


Làm thế nào chính xác tôi sẽ sử dụng điều này với ansi-termtrong Emacs?
Amelio Vazquez-Reina

Đây không phải là mục đích sử dụng, nhưng hãy xem: github.com/atomontage/xterm-color/issues/2
Erik B
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.