Skip to content

tmux ​

tmux est un multiplexeur de terminal : il permet de faire tourner plusieurs sessions shell dans une seule fenêtre de terminal, de les détacher pour les laisser tourner en arrière-plan (utile en SSH), puis de s'y rattacher plus tard. Ce mémo reprend l'essentiel des commandes et raccourcis, d'après tmuxcheatsheet.com/fr.

Toutes les combinaisons de touches s'utilisent après le préfixe, par défaut Ctrl+b (noté préfixe ci-dessous). On appuie sur Ctrl+b, on relâche, puis on appuie sur la touche suivante.

Sessions ​

bash
tmux                        # Lancer une nouvelle session (nom généré automatiquement)
tmux new -s mysession       # Lancer une nouvelle session nommée
tmux ls                     # Lister les sessions actives
tmux attach -t mysession    # Se rattacher à une session existante
tmux attach                 # Se rattacher à la dernière session active
tmux kill-session -t mysession  # Fermer une session précise
tmux kill-server            # Fermer tmux et toutes ses sessions
tmux rename-session -t old new  # Renommer une session
préfixe d        # Se détacher de la session courante
préfixe $        # Renommer la session courante
préfixe s        # Afficher la liste des sessions (naviguer avec les flèches, Entrée pour basculer)
préfixe (        # Basculer vers la session précédente
préfixe )        # Basculer vers la session suivante

Fenêtres (windows) ​

Une fenêtre occupe tout l'écran du terminal et regroupe un ou plusieurs panneaux, un peu comme un onglet.

préfixe c        # Créer une nouvelle fenêtre
préfixe ,        # Renommer la fenêtre courante
préfixe &        # Fermer la fenêtre courante (avec confirmation)
préfixe n        # Aller à la fenêtre suivante
préfixe p        # Aller à la fenêtre précédente
préfixe 0-9      # Aller à la fenêtre numéro 0-9
préfixe w        # Lister toutes les fenêtres
préfixe f        # Rechercher une fenêtre par nom
préfixe .        # Déplacer la fenêtre courante vers un autre index

Panneaux (panes) ​

Une fenêtre peut être divisée en plusieurs panneaux, chacun avec son propre shell.

préfixe %        # Diviser le panneau verticalement (côte à côte)
préfixe "        # Diviser le panneau horizontalement (l'un au-dessus de l'autre)
préfixe flèche   # Se déplacer vers le panneau dans la direction indiquée
préfixe o        # Aller au panneau suivant
préfixe ;        # Aller au dernier panneau actif
préfixe q        # Afficher brièvement le numéro de chaque panneau
préfixe q puis n # Aller directement au panneau numéro n
préfixe {        # Déplacer le panneau courant vers la gauche/le haut
préfixe }        # Déplacer le panneau courant vers la droite/le bas
préfixe Ctrl+flèche  # Redimensionner le panneau dans la direction indiquée
préfixe z        # Zoomer/dézoomer le panneau courant (plein écran temporaire)
préfixe !        # Transformer le panneau courant en une fenêtre à part
préfixe x        # Fermer le panneau courant (avec confirmation)
préfixe espace   # Alterner entre les dispositions de panneaux prédéfinies
bash
:setw synchronize-panes on   # Envoyer les frappes clavier à tous les panneaux en même temps
:setw synchronize-panes off  # Désactiver la synchronisation

Mode copie et défilement ​

Le mode copie permet de faire défiler l'historique du terminal et de copier du texte dans le presse-papier interne de tmux.

préfixe [        # Entrer en mode copie (permet aussi de défiler avec les flèches/PgUp/PgDn)
espace           # Démarrer une sélection (avec les touches de style vi par défaut)
Entrée           # Copier la sélection et quitter le mode copie
/                # Rechercher vers l'avant dans l'historique
?                # Rechercher vers l'arrière dans l'historique
q                # Quitter le mode copie sans copier
préfixe ]        # Coller le dernier contenu copié
préfixe =        # Choisir un buffer de copie précis à coller

Mode commande ​

préfixe :        # Ouvrir la ligne de commande tmux
préfixe ?        # Afficher la liste de tous les raccourcis clavier
bash
:kill-window          # Fermer la fenêtre courante
:kill-server          # Fermer tmux et toutes les sessions
:set mouse on         # Activer le support de la souris (clic, redimensionnement, molette)
:source-file ~/.tmux.conf  # Recharger la configuration

Configuration (~/.tmux.conf) ​

bash
# Changer le préfixe de Ctrl+b vers Ctrl+a (plus proche du clavier)
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# Activer la souris
set -g mouse on

# Démarrer la numérotation des fenêtres et panneaux à 1
set -g base-index 1
setw -g pane-base-index 1

# Augmenter la taille de l'historique de défilement
set -g history-limit 10000

# Recharger la configuration sans relancer tmux
bind r source-file ~/.tmux.conf \; display "Config rechargée !"

Aide-mémoire rapide ​

SituationCommande
Nouvelle session nomméetmux new -s nom
Se rattacher à une sessiontmux attach -t nom
Se détacherpréfixe d
Lister les sessionstmux ls
Nouvelle fenêtrepréfixe c
Basculer entre fenêtrespréfixe n / préfixe p
Diviser verticalementpréfixe %
Diviser horizontalementpréfixe "
Se déplacer entre panneauxpréfixe flèche
Zoomer un panneaupréfixe z
Copier du textepréfixe [ puis sélection puis Entrée
Collerpréfixe ]
Recharger la config:source-file ~/.tmux.conf
Tout fermertmux kill-server

Source : tmuxcheatsheet.com/fr

Publié sous lience MIT.