21 points par GN⁺ 2026-04-14 | 1 commentaires | Partager sur WhatsApp
  • Le fichier de configuration ~/.tmux.conf permet d’ajuster librement les raccourcis clavier, couleurs, barre d’état et comportement de la souris
  • Il est possible de remplacer la touche Prefix par défaut C-b par C-a et de remapper Caps Lock en Ctrl pour gagner en efficacité de saisie
  • Le fractionnement des fenêtres peut se faire de manière plus intuitive avec | et - au lieu de " et %, et la touche r permet de recharger immédiatement le fichier de configuration
  • Alt + touches fléchées pour changer de panneau, activation du mode souris, désactivation du renommage automatique des fenêtres, etc. améliorent le confort d’utilisation
  • Les éléments visuels comme les couleurs, la barre d’état, les messages et les bordures peuvent être finement personnalisés pour créer un thème cohérent

Concepts de base de la personnalisation de tmux

  • Le fichier de configuration tmux s’appelle tmux.conf et, placé dans ~/.tmux.conf dans le répertoire personnel, il s’applique comme configuration utilisateur
    • Pour le partager entre plusieurs utilisateurs, il peut être placé dans un répertoire système global, dont l’emplacement varie selon le système d’exploitation
    • L’emplacement exact peut être vérifié dans l’explication de l’option -f de man tmux
  • En modifiant ce fichier, on peut changer librement les raccourcis clavier, couleurs, barre d’état, comportement de la souris, etc.

Une touche Prefix moins contraignante

  • La touche Prefix par défaut C-b peut être remplacée par C-a, plus facile d’accès
    • C-a peut entrer en conflit avec la commande bash « aller au début de la ligne »
    • Si l’on remappe Caps Lock en Ctrl, il devient plus facile de saisir les combinaisons avec Prefix
  • Exemple de configuration :
    unbind C-b
    set-option -g prefix C-a
    bind-key C-a send-prefix
    
  • C-a C-a permet de continuer à utiliser la commande bash d’origine

Des commandes de fractionnement plus intuitives

  • Au lieu des touches de fractionnement par défaut " et %, on utilise | et -, plus parlantes visuellement
    • | est configuré pour un fractionnement horizontal, - pour un fractionnement vertical
    • Les raccourcis existants sont supprimés
    bind | split-window -h
    bind - split-window -v
    unbind '"'
    unbind %
    

Rechargement rapide du fichier de configuration

  • Si vous modifiez souvent tmux.conf, vous pouvez le recharger immédiatement avec un raccourci
    • La touche r est associée à la commande qui réapplique le fichier de configuration
    bind r source-file ~/.tmux.conf
    

Changement rapide de panneau

  • Alt (Meta) + touches fléchées permet de naviguer entre les panneaux sans utiliser Prefix
    • Alt-Left, Alt-Right, Alt-Up, Alt-Down permettent chacun de se déplacer
    bind -n M-Left select-pane -L
    bind -n M-Right select-pane -R
    bind -n M-Up select-pane -U
    bind -n M-Down select-pane -D
    

Activation du mode souris

  • Il devient possible de sélectionner des fenêtres et redimensionner des panneaux à la souris
    • L’usage centré sur le clavier reste le mode par défaut, mais cela est utile en collaboration
    • Cela peut notamment servir souvent en pair programming
    set -g mouse on
    

Désactiver le renommage automatique des fenêtres

  • Empêche que les noms de fenêtres définis manuellement soient automatiquement écrasés lors de l’exécution d’une commande
    set-option -g allow-rename off
    

Modifier l’apparence de tmux

  • Les couleurs, la barre d’état, les messages, les bordures de panneau, etc. peuvent être ajustés avec précision
    • La section STYLES permet de configurer de nombreux éléments visuels
    • En utilisant les couleurs de terminal par défaut (red, yellow, black, etc.), le thème s’intègre naturellement
    • En mode 256 couleurs, on peut utiliser colour0 à colour256
  • L’exemple de configuration inclut notamment :
    • désactivation des alertes sonores**,** couleur de l’horloge en yellow**,** style du mode copie en fg=black bg=red bold

    • couleur des bordures de panneau en red**,** bordure du panneau actif en yellow

    • position de la barre d’état en bottom**,** espace vide à gauche**,** affichage de l’heure à droite

    • style de la fenêtre active en fg=black bg=red**,** style des fenêtres normales en fg=red bg=black

      • style des messages en fg=yellow bg=red bold
      • Ces réglages apportent une palette cohérente et une meilleure séparation visuelle

Ressources complémentaires

  • Divers exemples de configuration tmux peuvent être consultés dans des dépôts GitHub tmux.conf ou dotfiles
    • On peut aussi s’inspirer de /r/dotfiles et /r/unixporn sur Reddit
  • La configuration complète est publiée dans le dépôt GitHub dotfiles
  • Pour aller plus loin, il est recommandé de consulter la page de man de tmux ainsi que la section Configuring tmux du wiki tmux
    • Elles couvrent les fonctionnalités récentes et toutes les options détaillées
  • Pour concevoir soi-même un thème de couleurs de terminal, on peut utiliser Root Loops(https://rootloops.sh/)
    • Il permet de créer une palette de couleurs de terminal personnalisée

1 commentaires

 
GN⁺ 2026-04-14
Avis sur Hacker News
  • J’utilisais tmux avant, puis j’ai découvert Zellij et j’ai complètement migré dessus
    La configuration des onglets et des panneaux est bien plus intuitive, et le défilement ainsi que la sélection de texte à la souris rendent le copier-coller facile

    • En regardant la page de téléchargement de Zellij, je me suis dit qu’il vaudrait mieux éviter les boutons pour les liens
      On ne peut pas faire de copie par clic droit sur un lien-bouton, et ce n’est pas idéal non plus côté accessibilité
    • Le seul défaut rédhibitoire de Zellij, c’est qu’on ne peut pas copier/coller depuis l’écran au clavier et qu’il ne prend pas en charge plusieurs buffers de presse-papiers
      Sur tmux, j’utilise cette fonction toutes les 1 à 2 minutes, mais les développeurs de Zellij disent de rediriger les données vers l’éditeur, ce qui n’est pas compatible avec le presse-papiers système
      Du coup, je suis finalement revenu à tmux
    • Du point de vue de quelqu’un qui utilise du matériel embarqué, Zellij est trop volumineux
      Zellij fait environ 50 Mo alors que tmux tourne autour de 2 Mo, bibliothèques incluses, donc l’écart de taille est important
    • J’ai essayé zmx ces deux dernières semaines ; il y a quelques bugs mineurs de repaint de l’écran, mais avec ghostty, l’expérience est plutôt agréable
    • Moi aussi, je suis passé à Zellij avant de revenir à tmux
      Zellij devenait de plus en plus lourd, ce qui le rendait pénible, et maintenant j’organise mes sessions avec tmuxp et je maintiens la connexion avec autossh, ce qui me satisfait bien davantage
  • Concernant les raccourcis clavier, ^a est la tradition de screen et ^b celle de tmux
    Si on administre plusieurs systèmes, il est important de connaître le keymap par défaut
    Dans ma config perso, je n’ai changé que les couleurs, l’arrière-plan du panneau actif, l’horloge avec horodatage et l’activation de la souris ; j’ai laissé les raccourcis tels quels
    Une fois habitué, les valeurs par défaut sont en fait plus confortables

  • J’avais abandonné tmux pour Zellij parce que Shift+Enter ne marchait pas
    Mais Zellij faisait planter les processus avec des crashs de type panic, donc je suis finalement revenu à tmux
    La solution était "bind-key -T root S-Enter send-keys C-j", trouvée dans ce ticket

    • Moi, j’ai résolu ça avec "bind -n S-Enter send-keys Escape '[13;2u'"
      pi.dev avertit qu’il n’y a pas de réglage extended-keys, mais ça fonctionne bien
    • Merci, c’était exactement la solution que je cherchais
    • Je me demande s’il est possible qu’un multiplexer meure alors que ses processus enfants continuent à vivre
      Avec tmux, quand on tue le serveur, les processus descendants sont aussi nettoyés, ce qui était pratique
    • Dans mon cas, Shift+Enter ne fonctionne pas, mais Option+Enter insère une nouvelle ligne (environnement MacOS + Claude Code)
    • Pour éviter un nouveau binding, on peut aussi utiliser la combinaison \ + Enter
  • Découvrir le Control Mode de tmux a complètement changé la donne pour moi
    En lançant tmux -CC dans iTerm2, les onglets, le défilement, le copier-coller et les raccourcis fonctionnent nativement côté terminal
    On voit aussi visuellement tous les onglets, ce qui est particulièrement utile pour les débutants

    • C’est pour cette fonctionnalité que j’utilise un Mac. En dix ans, je n’ai vu aucun terminal Linux l’implémenter
    • Chez moi aussi, le mode -CC fonctionne parfaitement
    • Je me demande si ça marche aussi avec ghostty
    • Je comprends enfin à quoi sert -CC
    • C’est vraiment bluffant
  • Sur tmux, j’utilise Alt+chiffre pour changer rapidement de fenêtre
    Par exemple : bind-key -n M-1 select-window -t :1
    Alt-/ permet aussi d’ouvrir le mode de copie façon vi
    Sous Wayland, on peut utiliser wl-copy, ce qui permet de copier via un glisser de souris ou avec la touche y
    J’ai aussi ajouté un design style Powerline, mais il faut installer powerline-fonts

  • J’ai tellement personnalisé tmux que, quand je me connecte en ssh à un nouveau serveur, j’oublie comment utiliser la configuration par défaut
    Maintenant, je l’utilise quasiment en mode standard. En revanche, je dois toujours changer le réglage du défilement à la souris

    • Quelqu’un demande si tu gères tes configs tmux, zsh, etc. via un dépôt de dotfiles
    • C’est un peu comme la malédiction d’Emacs : on peut personnaliser à l’infini, mais on finit avec un environnement totalement idiosyncratique
      Il y a aussi The Lisp Curse comme concept lié
    • J’ai eu le même problème, et je l’ai résolu en n’écrasant pas les réglages par défaut mais en ajoutant seulement des raccourcis non conflictuels
      Par exemple, je garde Ctrl-b tel quel et j’ajoute Ctrl-space comme raccourci supplémentaire
    • J’ai vécu exactement la même chose avec Emacs. Après avoir perdu mon disque et mes réglages personnalisés, je suis revenu à un état presque par défaut
    • On en est au point de faire des blagues du genre « Claude, copie ma config tmux sur ce serveur avec scp »
  • Sur iTerm2, j’ai été impressionné par le Control Mode de tmux
    Il permet de piloter des fenêtres de terminal distantes via le gestionnaire de fenêtres local
    L’implémentation de cette fonctionnalité est aussi en cours dans ghostty, ce qui est prometteur

  • Beaucoup trouvent la touche de préfixe par défaut de tmux (C-b) peu naturelle, mais je pense au contraire que cette étrangeté est un avantage
    On appuie dessus par erreur très rarement
    Même les commandes de découpage me semblent intuitives — % évoque une ligne horizontale et " une ligne verticale
    Je rechargeais souvent la configuration au début, mais maintenant presque jamais

    • Moi aussi, j’aime la touche de préfixe par défaut
      Si besoin, il suffit d’ajouter ceci dans .tmux.conf :
      unbind-key -T prefix C-b
      set-option -g prefix C-s
      
      Comme ça, aucun souci de conflit si on ne l’utilise qu’en local
  • J’adore tmux, mais le piège, c’est qu’il faut un fichier de configuration de 400 lignes
    Dans son état par défaut, il n’est pas très accueillant, mais une fois bien réglé, il devient vraiment excellent
    On peut jeter un œil à mon fichier de config

    • Je n’ai pourtant rien changé et je le trouve déjà tout à fait utilisable
      Je n’ai eu besoin de mémoriser qu’environ 9 raccourcis
    • J’ai rendu mon fichier de config facilement récupérable partout avec wget ou curl
      Je compte aussi ajouter une version PowerShell
    • Je me suis inspiré de la config de jcs et je n’en ai repris que quelques lignes
      J’ai simplement remis le binding du préfixe comme à l’origine
  • Il y a quelque temps, j’ai passé un week-end à lire “tmux 2: mouse-free productivity”, et c’est l’un des livres qui ont eu le plus grand impact sur ma productivité
    L’édition récente continue d’être mise à jour → tmux 3: productive mouse-free development

    • En revanche, j’ai trouvé dommage que le livre ne mentionne ni le créateur original de tmux ni ses origines
    • Merci pour la recommandation de cette bonne référence