Des couleurs dans le terminal gnome

Je me suis aperçu très récemment (suite à du pair-programming) que le terminal gnome n’était pas configuré pour afficher 256 couleurs par défaut mais seulement 8 !

Il exporte en effet TERM=xterm au lieu de TERM=xterm-256color. Et le plus triste dans tout ça c’est qu’il n’y a aucune option de configuration disponible (dans sa version 3.14.1 en tout cas).

Les autres émulateurs de terminal n’ayant pas le souci, l’astuce réside dans le fait de ne pas écraser bêtement la variable d’environnement TERM pour y mettre xterm-256color mais simplement rajouter la partie -256color au terminal annoncé.

Ce n’est pas compliqué, il suffit de mettre ceci dans votre ~/.profile :

if ! [[ $TERM =~ 256color ]]; then  
  export TERM="$TERM-256color"
fi  

Si vous utilisez un shell tel que zsh, ce fichier ne sera pas lu par défaut. Deux solutions, soit vous mettez ce code dans ~/.zprofile soit vous faites exécuter ~/.profile par votre ~/.zprofile comme suit :

if [[ -f $HOME/.profile ]]; then  
  emulate sh -c ". $HOME/.profile"
fi  

Et voilà ! Pour illustrer la différence, deux images de vim dans le terminal en mode avant/après :

Avant

Après

C’est quand même mieux non ? :)