Como posso listar os nomes das cores disponíveis?

19

Estou tentando adicionar algumas cores à minha configuração do git e quero saber quais nomes de cores estão disponíveis no terminal.

  • Eu só quero usar cores pelo nome, por isso é mais fácil para os outros entenderem
  • Eu não quero adicionar novas cores - só quero selecionar os nomes predefinidos
  • Eu gostaria de uma solução que funciona para todas as distros, mas principalmente Debian
  • Seria bom ver a cor que o nome indica

Muitas referências on-line costumam falar sobre nomes de cores que não estão definidos no meu sistema, então eu só preciso de uma maneira de ver quais são minhas opções padrão.

    
por doub1ejack 17.12.2013 / 16:25

1 resposta

21

Many online references often talk about color names that are not defined on my system

Aqueles provavelmente são definidos, mas são cores X11; Era uma vez você poderia encontrá-los em /lib[64]/X11/rgb.txt . Em qualquer caso, trata-se de um mapeamento de strings (por exemplo, dimgray ) para cores RGB de 24 bits (por exemplo, 0xff8800 ou #ff8800 , que seria laranja). Um espaço de 24 bits tem cerca de 16 milhões de cores, obviamente, o X11 não dá a eles todos os nomes (CSS 3 usa nomes X11, BTW).

O espaço de 24 bits é usado pela sua GUI; a transparência é implementada aumentando-a para um espaço de 32 bits. No entanto, git não é uma ferramenta GUI (G = gráfica), é uma ferramenta TUI (T = terminal) e é limitada às cores disponíveis em um terminal normal.

I would like a solution that works for all distros, but primarily Debian

Se você quiser que isso seja bem portável, você deve confiar apenas nas oito cores ANSI padrão :

  • preto
  • azul
  • verde
  • amarelo
  • ciano
  • branco
  • magenta
  • vermelho

Um pouco decepcionante ao lado da lista X11, mas melhor que nada! Estes também têm uma versão "em negrito" ou "brilhante" que é padrão, fazendo com que 16 cores, que você pode seja capaz de especificar como, por exemplo, "brightyellow" ( ou por outro lado, "darkyellow").

A maioria dos terminais de GUI 1 tem suporte a 256 cores e alguns aplicativos de terminal podem explorar isso. Para testar, primeiro você precisa definir a variável $TERM apropriadamente:

export $TERM=xterm-256color

Seu emulador de terminal também pode ter uma opção de configuração para isso. As cores sob o protocolo xterm 256 color são indexadas:

Onúmerodoíndiceestánocantoinferioresquerdo.Observequeoconjuntonaparteinferiordestegráfico(0-15)sãoas16coresANSIbásicas(claraseescuras).Parafazerreferênciaaumadessascoressobopadrão,usecolor+onúmerodoíndice,porexemplo.color40.

1.Um"terminal GUI" é um emulador de terminal que é executado em um contexto GUI, como xterm, o terminal GNOME, etc. No entanto, isso não faz aplicativos TUI (como git) em execução em um terminal GUI em aplicativos GUI. Eles ainda são aplicativos da TUI e estão vinculados a esse contexto.

    
por 17.12.2013 / 17:00