Làm thế nào tôi có thể liệt kê các tên màu có sẵn?


23

Tôi đang cố gắng thêm một số màu vào cấu hình git của mình và tôi muốn biết tên màu nào có sẵn trên thiết bị đầu cuối.

  • Tôi chỉ muốn sử dụng màu sắc theo tên để người khác dễ hiểu hơn
  • Tôi không muốn thêm bất kỳ màu mới nào - Tôi chỉ muốn chọn từ các tên được xác định trước
  • Tôi muốn một giải pháp hoạt động cho tất cả các bản phát hành, nhưng chủ yếu là Debian
  • Thật tuyệt khi thấy màu sắc mà cái tên chỉ ra

Nhiều tài liệu tham khảo trực tuyến thường nói về tên màu không được xác định trên hệ thống của tôi, vì vậy tôi chỉ cần một cách để xem các tùy chọn mặc định của mình là gì.


Đây là một tài liệu tham khảo hữu ích. Tôi thích các kịch bản shell. misc.flogisoft.com/bash/ trộm
ngờ1ejack

Câu trả lời:


25

Nhiều tài liệu tham khảo trực tuyến thường nói về tên màu không được xác định trên hệ thống của tôi

Những cái đó có thể được xác định, nhưng chúng là màu X11; Ngày xửa ngày xưa bạn có thể tìm thấy chúng trong /lib[64]/X11/rgb.txt. Trong mọi trường hợp, đây là ánh xạ của các chuỗi (ví dụ dimgray:) sang các màu RGB 24 bit (ví dụ: 0xff8800hoặc #ff8800sẽ có màu cam). Không gian 24 bit có ~ 16 triệu màu, rõ ràng X11 không cung cấp cho tất cả các tên (CSS 3 sử dụng tên X11, BTW).

Không gian 24 bit được GUI của bạn sử dụng; độ trong suốt được thực hiện bằng cách tăng giá trị này lên không gian 32 bit. Tuy nhiên, gitkhông phải là công cụ GUI (G = đồ họa), nó là công cụ TUI (T = terminal) và nó bị giới hạn ở các màu có sẵn trên thiết bị đầu cuối bình thường.

Tôi muốn một giải pháp hoạt động cho tất cả các bản phát hành, nhưng chủ yếu là Debian

Nếu bạn muốn cái này có thể mang theo đúng cách, bạn chỉ nên dựa vào tám màu ANSI tiêu chuẩn :

  • đen
  • màu xanh da trời
  • màu xanh lá
  • màu vàng
  • lục lam
  • trắng
  • đỏ tươi
  • màu đỏ

Một chút thất vọng bên cạnh danh sách X11, nhưng tốt hơn là không có gì cả! Những phiên bản này cũng có phiên bản "đậm" hoặc "sáng" là tiêu chuẩn, tạo ra 16 màu, mà bạn thể chỉ định là, ví dụ: "lityellow" ( hoặc ngược lại, "darkyellow").

Hầu hết các thiết bị đầu cuối GUI 1 có hỗ trợ 256 màu và một số ứng dụng đầu cuối có thể khai thác điều này. Để kiểm tra, trước tiên bạn cần đặt $TERMbiến thích hợp:

export $TERM=xterm-256color

Trình giả lập thiết bị đầu cuối của bạn cũng có thể có một tùy chọn cấu hình cho việc này. Các màu trong giao thức xterm 256 màu được lập chỉ mục:

biểu đồ màu xterm

Số chỉ mục nằm ở góc dưới bên trái. Lưu ý tập hợp ở dưới cùng của biểu đồ này (0-15) là 16 màu ANSI cơ bản (sáng và tối). Để tham chiếu một trong những màu này theo tiêu chuẩn, bạn sử dụng color+ số chỉ mục, vd. color40.


1. "Thiết bị đầu cuối GUI" là trình giả lập thiết bị đầu cuối chạy trong ngữ cảnh GUI, chẳng hạn như xterm, thiết bị đầu cuối Gnome, v.v. Tuy nhiên, điều này không làm cho các ứng dụng TUI (như git) chạy trong thiết bị đầu cuối GUI thành ứng dụng GUI. Chúng vẫn là các ứng dụng TUI và bị ràng buộc bởi bối cảnh đó.


Xin lỗi, danh sách X11 có thể đã gây hiểu nhầm. Tôi không quan tâm đến bất kỳ loại GUI nào - chỉ các màu có sẵn trên thiết bị đầu cuối.
ngờ1ejack

Được, bạn đã có nó. Giả sử phần cứng thông thường, bất kỳ thiết bị đầu cuối nào bạn gặp trên linux đều có 16 màu, tám màu trên mỗi phiên bản có phiên bản "sáng / đậm" theo tiêu chuẩn ANSI (mặc dù, ví dụ, thường chỉ có màu vàng sáng trông có màu vàng; v.v.) Vì vậy, WRT để git, bạn có thể sử dụng 8. Chúng tôi không thể sử dụng bất kỳ màu nào bạn thấy trên màn hình. Giao diện đầu cuối là một hạn chế. Tám màu cơ bản. Đó là tất cả.
goldilocks

2
@ ngờ1ejack: Đoán xem? Tôi nhận thấy ngày hôm qua rằng có một tiêu chuẩn để đặt tên màu trên các thiết bị đầu cuối 256 màu và có một số ứng dụng TUI sử dụng nó, mặc dù tôi không kiểm tra git. Dù sao, tôi đã chỉnh sửa một số thứ về điều này.
goldilocks

Tôi nghĩ rằng chỉ có 8 màu và 8 phiên bản sáng. Nói chúng là 16 màu không đúng về mặt kỹ thuật?
jiggunjer

1
Tôi đã đọc câu trả lời này, đợi cho đến khi tôi nhận được làm thế nào. Tôi đã gần đến đó, và câu trả lời dừng lại.
ctrl-alt-delor
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.