Como funciona a paleta de cores do tmux?

115

Estou tentando definir algo para cinza, mas não consigo descobrir como. A única informação na página man sobre cores que eu posso encontrar é:

message-bg colour
  Set status line message background colour, where colour is one of:
  black, red, green, yellow, blue, magenta, cyan, white, colour0 to
  colour255 from the 256-colour palette, or default.

Também encontrei uma postagem de um blog que se repete por meio de cores, mas eu não consigo encaixar isso, e não quero ficar sentada no terminal o dia inteiro, supondo números de cores até que um funcione.

    
por lawrence 18.05.2011 / 19:46

6 respostas

191

Você pode obter uma lista com este bash snippet:

for i in {0..255}; do
    printf "\x1b[38;5;${i}mcolour${i}\x1b[0m\n"
done

Em seguida, use colourxxx com tmux .

    
por 18.05.2011 / 20:26
49

Eu achei essa imagem esclarecedora.

    
por 23.07.2016 / 07:09
19

No Subversion (o que será o tmux 1.5) você também pode usar #abcdef cores no estilo hexadecimal que são mapeadas para a entrada de paleta de 256 cores mais próxima. Você precisa de aspas, uma vez que é tratada como uma string, enquanto nomes de cores regulares são tratados como constantes nomeadas. Observe também que a abreviação de 3 letras (# f00) é inválida.

Exemplo:

set pane-active-border-bg red # no quotes for name
set pane-active-border-bg "#ff0000" # quotes for rgb
    
por 25.06.2011 / 03:22
8
O

tmux a 1.9 suporta apenas a ortografia internacional para a paleta de 256 cores, por exemplo

"colour121"

ao contrário da ortografia americana que baixa o u

"color121"

Parece que isso será alterado em breve, link

    
por 31.10.2013 / 20:30
5

Eu tenho usado o xterm-color-table.vim

    
por 29.08.2012 / 21:20
3

Criando a resposta do @cYrus, eu escrevi um script para dividir a saída das cores em N número de colunas, onde N é o primeiro argumento

# colors.sh

#!/bin/bash
if [ -z $1 ]; then
    BREAK=1
else
    BREAK=$1
fi
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i} \t"
    if [ $(( i % $BREAK )) -eq $(($BREAK-1)) ] ; then
        printf "\n"
    fi
done

Experimente salvando-o em um arquivo chamado colors.sh e, em seguida, ./colors.sh 4

Não se esqueça de chmod +x colors.sh primeiro.

    
por 09.02.2016 / 23:43

Tags