Как я могу перечислить доступные названия цветов?


23

Я пытаюсь добавить цвет в свою конфигурацию git и хочу узнать, какие названия цветов доступны на терминале.

  • Я хочу использовать цвета только по имени, чтобы другим было легче понять
  • Я не хочу добавлять какие-либо новые цвета - я просто хочу выбрать одно из предопределенных имен
  • Я хотел бы решение, которое работает для всех дистрибутивов, но в первую очередь Debian
  • Было бы неплохо увидеть цвет, который указывает название

Многие онлайн-ссылки часто говорят о названиях цветов, которые не определены в моей системе, поэтому мне просто нужен способ узнать, какие у меня есть варианты по умолчанию.


Это была полезная ссылка. Мне нравятся сценарии оболочки. misc.flogisoft.com/bash/...
doub1ejack

Ответы:


25

Многие онлайн-ссылки часто говорят о названиях цветов, которые не определены в моей системе.

Те, вероятно, определены, но они цвета X11; когда-то вы могли найти их в /lib[64]/X11/rgb.txt. В любом случае, это отображение строк (например, dimgray) в 24-битные цвета RGB (например, 0xff8800или #ff8800, которое будет оранжевым). 24-битное пространство составляет ~ 16 миллионов цветов, очевидно, X11 не дает им все имена (CSS 3 использует имена X11, кстати).

24-битное пространство используется вашим графическим интерфейсом; прозрачность реализуется путем увеличения этого до 32-битного пространства. Однако gitэто не инструмент GUI (G = графический), это инструмент TUI (T = терминал), и он ограничен цветами, доступными на обычном терминале.

Я хотел бы решение, которое работает для всех дистрибутивов, но в первую очередь Debian

Если вы хотите, чтобы это было правильно переносимо, вам следует полагаться только на восемь стандартных цветов ANSI :

  • черный
  • синий
  • зеленый
  • желтый
  • циан
  • белый
  • фуксин
  • красный

Немного разочаровывает рядом со списком X11, но лучше, чем ничего вообще! Они также имеют стандартную «полужирную» или «яркую» версию с 16 цветами, которую вы можете указать, например, как «яркая желтая» ( или, наоборот, «темная желтая»).

Большинство графических терминалов 1 имеют 256 цветовую поддержку, и некоторые терминальные приложения могут использовать это. Чтобы проверить, сначала нужно установить $TERMпеременную соответствующим образом:

export $TERM=xterm-256color

Ваш эмулятор терминала также может иметь опцию конфигурации для этого. Цвета по цветовому протоколу xterm 256 индексируются:

xterm таблица цветов

Индекс находится в левом нижнем углу. Обратите внимание, что в нижней части этой таблицы (0-15) указан 16 основных (светлых и темных) цветов ANSI. Для ссылки на один из этих цветов в стандарте вы используете color+ индексный номер, например. color40,


1. «Терминал GUI» - это эмулятор терминала, который работает в контексте GUI, таком как xterm, терминал GNOME и т. Д. Однако это не делает приложения TUI (такие как git), работающие в терминале GUI, в приложения GUI. Они все еще являются приложениями TUI и связаны этим контекстом.


Извините, список X11, возможно, вводил в заблуждение. Я не заинтересован в каком-либо графическом интерфейсе - только цвета, доступные на терминале.
Doub1ejack

Ну, вот и все. Предполагая нормальное аппаратное обеспечение, любой терминал, с которым вы сталкиваетесь в linux, имеет 16 цветов, по восемь над каждым с «яркой / жирной» версией в соответствии со стандартом ANSI (хотя, например, обычно только ярко-желтый выглядит желтым; нормальный выглядит охрой, так далее). Так что WRT для git, вы можете использовать эти 8. Моя точка зрения была в том, что вы не можете использовать только любой цвет, который вы видите на экране. Интерфейс терминала является ограничением. Восемь основных цветов. Вот и все.
Златовласка

2
@oub1ejack: Угадай, что? Вчера я заметил, что существует стандарт для именования цветов на терминалах с 256 цветами, и есть некоторые приложения TUI, которые используют его, хотя я не проверял git. Во всяком случае, я редактировал некоторые вещи об этом.
Златовласка

Я думаю, что есть только 8 цветов и 8 ярких версий. Сказать, что они 16 цветов, технически не правильно?
Jiggunjer

1
Я читал этот ответ, ожидая, пока я доберусь до того, как. Я был почти там, и ответ остановился.
Ctrl-Alt-Delor
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.