Comment fonctionne la palette de couleurs tmux?


140

J'essaie de mettre quelque chose en gris, mais je n'arrive pas à comprendre comment. La seule information dans la page de manuel sur les couleurs que je peux trouver est la suivante:

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.

J'ai également trouvé un article de blog qui parcourt les couleurs, mais je ne peux pas tout dire et je ne veux pas rester au terminal toute la journée à deviner les numéros de couleur jusqu'à ce que l'un d'entre eux fonctionne.

Réponses:


223

Vous pouvez obtenir une liste avec cet bashextrait:

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

Ensuite, utilisez colourxxxavec tmux.


18
utilisez $ reset pour récupérer la couleur de votre invite:>
lkraav

peut-être avez-vous besoin de couleurs à trois chiffres? Ce script color12affiche le résultat comme mais ce n’est pas accepté par tmux comme une couleur valide.
artfulrobot

6
Mon tmux(1.6) accepte même les couleurs telles que colour12(attention le "u").
cYrus

1
Cette réponse est toujours utile! M'a aidé à choisir les couleurs que je voulais.
Asfallows

6
OMG! Un arc-en-ciel sur mon terminal. Juste à temps pour célébrer l'égalité du mariage aux États-Unis!
Garbelini

75

J'ai trouvé cette image éclairante.

entrez la description de l'image ici


16
Vous pouvez le créer avecfor i in {0..255}; do printf "\x1b[38;5;${i}mcolor%-5i\x1b[0m" $i ; if ! (( ($i + 1 ) % 8 )); then echo ; fi ; done
12431234123412341234123

22

Dans Subversion (ce qui sera tmux 1.5), vous pouvez également utiliser les couleurs de style hexadécimal #abcdef qui sont mappées sur l’entrée de palette de 256 couleurs la plus proche. Vous avez besoin de guillemets car ils sont traités comme une chaîne, alors que les noms de couleurs ordinaires sont traités comme des constantes nommées. Notez également que le raccourci de 3 lettres (# f00) n’est pas valide.

Exemple:

set pane-active-border-bg red # no quotes for name
set pane-active-border-bg "#ff0000" # quotes for rgb

1
Peut tu? Je ne vois pas comment ...
Eric

5
set-option message-bg "#abcdef"; les citations sont nécessaires.
Chepner

Vous semblez également devoir utiliser les 6 caractères hexadécimaux complets, pas de raccourcis 3 caractères, c’est #fff-à- dire que cela ne fonctionnera pas, vous devez utiliser#ffffff
bschlueter



6

En me basant sur la réponse de @cYrus, j'ai écrit un script pour séparer le nombre de couleurs des couleurs en N nombre de colonnes, N étant le premier argument.

# 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

Essayez-le en l'enregistrant dans un fichier nommé colors.sh, puis ./colors.sh 4

N'oubliez pas d' chmod +x colors.shabord.


3
Le script show-256-colors.sh peut être utile pour afficher également les couleurs de fond.
Maxim Suslov

Par défaut, vous devez indiquer au moins 4 colonnes pour le distinguer du script d'origine.
dbkeys
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.