Questão Como funciona a paleta de cores tmux?


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.

Eu também achei uma postagem no blog que percorre as cores, mas eu não consigo entender isso, e não quero ficar sentado no terminal o dia inteiro, supondo números de cores até que um funcione.


109


origem




Respostas:


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

Então use colourxxx com tmux.


188



use $ reset para recuperar sua cor de aviso:> - lkraav
talvez você precise de três cores de dígitos? Esse script é exibido como color12 mas isso não é aceito pelo tmux como uma cor válida. - artfulrobot
Minhas tmux (1.6) aceita até mesmo cores como colour12 (mente o "u"). - cYrus
Esta resposta ainda é útil! Me ajudou a escolher as cores que eu queria. - asfallows
AMD! Um arco-íris no meu terminal. Apenas a tempo de celebrar a igualdade no casamento nos EUA! - garbelini


Eu achei esta imagem para ser esclarecedor.

enter image description here


42



Você pode criá-lo com for i in {0..255}; do printf "\x1b[38;5;${i}mcolor%-5i\x1b[0m" $i ; if ! (( ($i + 1 ) % 8 )); then echo ; fi ; done - 12431234123412341234123


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

19



Você pode? Eu não consigo ver como ... - Eric
set-option message-bg "#abcdef"; as citações são necessárias. - chepner
Você também parece ter que usar os 6 caracteres hexadecimais completos, sem 3 atalhos de caracteres, ou seja, #fff não vai funcionar, você tem que usar #ffffff - bschlueter


O tmux através do 1.9 suporta apenas a ortografia internacional para a paleta de 256 cores, por ex.

"colour121"

ao contrário da ortografia americana que cai a u

"color121"

Parece que isso será mudado em breve http://sourceforge.net/mailarchive/message.php?msg_id=31049758


8





Eu tenho usado o xterm-color-table.vim roteiro. Qualquer tabela de cores do terminal de 256 cores funcionará.


5





Com base na 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, então ./colors.sh 4

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


3



Roteiro show-256-colors.sh Também pode ser útil mostrar cores de fundo. - Maxim Suslov