dimanche 3 novembre 2013

tmux & vim

Vous vous rappelez, il y a assez longtemps, j'avais écrit ici à propos de tmux, qui est un outil assez génial pour multiplexer des terminaux, que vous travaillez sur un serveur distant ou en local.

Plus récemment, j'ai aborder l'importance de faire un peu de tuning pour la coloration syntaxique de Vim pour éviter de passer votre vie professionnelle en thérapie.

Hier, j'ai un peu cherché parce que je n'arrivais pas à avoir tmux ET un vim en 256 couleurs. Je peux vous dire que je suais à grosses gouttes devant la perspective de ne pas pouvoir utiliser conjointement les deux.

Donc ne cherchez plus, mettez ceci dans votre .tmux.conf :

set-option -g default-terminal "screen-256color"

Et ceci dans votre .bashrc (je ne parle pas aux utilisateurs de zsh, chacun ses valeurs) :

# Le teste évite à tmux de basculer sur TERM=xterm-256color s'il d'aventure
# il sourçait  ~/.bashrc au démarrage (ce qui serait une bonne idée
# remarquez...)
# Tout va bien marcher avec tmux si la variable TERM est exportée avec
# screen-256coloret rien d'autre !
if [[ $TERM != screen-256color ]]
then
    export TERM=xterm-256color
fi

Deux dernières choses avant de partir. Premièrement, vous avez remarqué que par défaut, tmux ne chargeait pas votre .bashrc sous Debian (en tout cas, chez moi, il ne le fait pas, ce petit salopard). Vous pouvez toujours le lancer en faisant tmux bash mais ça manque de classe... Ajoutez plutôt la ligne suivante à votre .tmux.conf :

set-option -g default-command "/bin/bash"

À présent, le petit test sur TERM dans la config de bash prend tout son sens !

Et enfin, ajoutez cette ligne si vous voulez avoir les bindings vi sans avoir à exporter EDITOR=vi (ce qui est un peu old school comme habitude, il faut le dire).

set-window-option -g mode-keys vi

Voilà, j'ai partagé avec vous ma config pas trop velue de tmux. Je vous souhaite une bonne semaine de boulot dans votre terminal !