Tmux Cheatsheet

Tmux (Terminal Multiplexer) permet de créer plusieurs sessions de terminal persistantes. Indispensable pour le travail à distance !

🚀 Installation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Ubuntu/Debian
sudo apt install tmux

# CentOS/RHEL/Fedora
sudo yum install tmux
# ou
sudo dnf install tmux

# macOS
brew install tmux

📚 Concepts de base

  • Session : Environnement de travail persistant
  • Window : Onglet dans une session (comme les onglets de navigateur)
  • Pane : Division d’une fenêtre en plusieurs panneaux

⌨️ Préfixe par défaut

Le préfixe par défaut est Ctrl-b. Toutes les commandes tmux commencent par ce préfixe.

🖥️ Gestion des sessions

Commandes de base

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Nouvelle session
tmux new-session -s nom-session
tmux new -s nom-session

# Lister les sessions
tmux list-sessions
tmux ls

# Se reconnecter à une session
tmux attach-session -t nom-session
tmux a -t nom-session

# Détacher de la session courante
tmux detach

# Tuer une session
tmux kill-session -t nom-session

Raccourcis dans tmux

RaccourciAction
Ctrl-b dDétacher de la session
Ctrl-b sLister et changer de session
Ctrl-b $Renommer la session courante

🪟 Gestion des fenêtres

RaccourciAction
Ctrl-b cCréer nouvelle fenêtre
Ctrl-b nFenêtre suivante
Ctrl-b pFenêtre précédente
Ctrl-b 0-9Aller à la fenêtre N
Ctrl-b lBasculer vers dernière fenêtre
Ctrl-b wLister les fenêtres
Ctrl-b ,Renommer la fenêtre
Ctrl-b &Fermer la fenêtre
Ctrl-b fRechercher une fenêtre

📱 Gestion des panneaux

Division des panneaux

RaccourciAction
Ctrl-b "Division horizontale
Ctrl-b %Division verticale
Ctrl-b xFermer le panneau courant
Ctrl-b !Convertir panneau en fenêtre
RaccourciAction
Ctrl-b ↑↓←→Naviguer entre panneaux
Ctrl-b qAfficher numéros des panneaux
Ctrl-b oPanneau suivant
Ctrl-b ;Dernier panneau actif
Ctrl-b {Échanger avec panneau précédent
Ctrl-b }Échanger avec panneau suivant

Redimensionnement

RaccourciAction
Ctrl-b Ctrl-↑Agrandir vers le haut
Ctrl-b Ctrl-↓Agrandir vers le bas
Ctrl-b Ctrl-←Agrandir vers la gauche
Ctrl-b Ctrl-→Agrandir vers la droite
Ctrl-b Alt-1Layout horizontal
Ctrl-b Alt-2Layout vertical
Ctrl-b Alt-3Layout principal horizontal
Ctrl-b Alt-4Layout principal vertical
Ctrl-b Alt-5Layout mosaïque
Ctrl-b EspaceChanger de layout

📋 Mode copie

RaccourciAction
Ctrl-b [Entrer en mode copie
EspaceCommencer la sélection
EntréeCopier la sélection
Ctrl-b ]Coller
qQuitter le mode copie
RaccourciAction
h,j,k,lDéplacement (style vi)
↑↓←→Déplacement (flèches)
wMot suivant
bMot précédent
gDébut du buffer
GFin du buffer
0Début de ligne
$Fin de ligne

⚙️ Configuration (.tmux.conf)

Exemple de configuration dans ~/.tmux.conf :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Changer le préfixe de Ctrl-b à Ctrl-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# Recharger la config avec Ctrl-a r
bind r source-file ~/.tmux.conf \; display-message "Config rechargée!"

# Améliorer les couleurs
set -g default-terminal "screen-256color"

# Activer la souris
set -g mouse on

# Commencer la numérotation à 1
set -g base-index 1
setw -g pane-base-index 1

# Diviser les panneaux avec | et -
bind | split-window -h
bind - split-window -v

# Navigation entre panneaux avec Alt+flèches (sans préfixe)
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

# Redimensionnement rapide
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

🔥 Commandes utiles

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Nouvelle session avec fenêtre nommée
tmux new -s projet -n editor

# Exécuter commande dans session spécifique
tmux send-keys -t session-name "ls -la" Enter

# Capturer contenu d'un panneau
tmux capture-pane -t session:window.pane -p

# Sauvegarder l'historique d'un panneau
tmux capture-pane -S -1000 -t session:window.pane -p > historique.txt

🔧 Plugins utiles

TPM (Tmux Plugin Manager)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Installation
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

# Dans .tmux.conf
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'

# Initialiser TPM
run '~/.tmux/plugins/tpm/tpm'

Plugins populaires :

  • tmux-resurrect : Sauvegarder/restaurer sessions
  • tmux-continuum : Sauvegarde automatique
  • tmux-yank : Améliore la copie
  • tmux-pain-control : Meilleure gestion des panneaux

💡 Astuces pro

  1. Session nommées : Toujours nommer vos sessions pour mieux vous y retrouver
  2. Scripting : Automatisez la création de sessions avec des scripts
  3. SSH + Tmux : Indispensable pour le travail à distance
  4. Layouts : Utilisez les layouts prédéfinis pour organiser vos panneaux
  5. Mode souris : Activez-le pour une meilleure ergonomie

Tmux transformera votre façon de travailler en terminal ! Pratiquez ces commandes régulièrement pour les mémoriser.