Guida completa a tmux (Terminal Multiplexer), organizzata per sezioni logiche.
Di default, tutti i comandi di tmux richiedono la pressione di una combinazione di tasti attivatore chiamata Prefisso.
Nella configurazione standard, il prefisso è Ctrl + b (indicato di seguito come Ctrl+b).
⌨️ I Comandi Base (Dal Terminale)
Questi comandi si digitano direttamente nella shell standard per gestire le sessioni.
- tmux – Avvia una nuova sessione tmux.
- tmux new -s <nome> – Crea una nuova sessione con un nome specifico.
- tmux ls – Mostra la lista di tutte le sessioni attive.
- tmux a (oppure attach) – Si collega all'ultima sessione attiva.
- tmux a -t <nome> – Si collega a una sessione specifica tramite nome.
- tmux kill-session -t <nome> – Chiude e termina una sessione specifica.
- tmux kill-server – Chiude tutte le sessioni e termina il server tmux.
👥 Gestione delle Sessioni (Dentro tmux)
- Ctrl+b + d – Sconnetti (Detach) dalla sessione attuale (lasciandola attiva in background).
- Ctrl+b + s – Mostra una lista interattiva di tutte le sessioni per passare rapidamente dall'una all'altra.
- Ctrl+b + $ – Rinomina la sessione corrente.
🪟 Gestione delle Finestre (Windows / Tab)
Le finestre occupano l'intero schermo e funzionano come le schede di un browser.
- Ctrl+b + c – Crea (Create) una nuova finestra.
- Ctrl+b + , – Rinomina la finestra corrente.
- Ctrl+b + w – Mostra una lista visiva di tutte le finestre e i pannelli.
- Ctrl+b + n – Passa alla finestra successiva (Next).
- Ctrl+b + p – Passa alla finestra precedente (Previous).
- Ctrl+b + 0 a 9 – Passa direttamente alla finestra con quel numero.
- Ctrl+b + & – Chiude la finestra corrente (richiede conferma).
🧱 Gestione dei Pannelli (Panes / Split)
I pannelli permettono di dividere la stessa finestra in più terminali indipendenti.
- Ctrl+b + % – Divide lo schermo in verticale (destra/sinistra).
- Ctrl+b + " – Divide lo schermo in orizzontale (sopra/sotto).
- Ctrl+b + Freccia Direzionale – Sposta il cursore sul pannello adiacente.
- Ctrl+b + o – Ruota il focus tra i pannelli aperti.
- Ctrl+b + ; – Passa all'ultimo pannello utilizzato.
- Ctrl+b + x – Chiude il pannello corrente (richiede conferma).
- Ctrl+b + z – Ingrandisce (Zoom) il pannello corrente a schermo intero. Premerlo di nuovo per rimpicciolirlo.
- Ctrl+b + space – Cambia il layout automatico dei pannelli.
- Ctrl+b + Ctrl+Freccia – Ridimensiona il pannello corrente di un carattere alla volta.
📜 Scorrimento e Copia (Copy Mode)
Utile quando l'output del terminale è troppo lungo e la rotella del mouse non funziona.
- Ctrl+b + [ – Entra in modalità copia/scorrimento. Ora puoi usare le frecce o PgUp/PgDn per scorrere il testo.
- Spazio – Inizia a selezionare il testo.
- Invio – Copia il testo selezionato negli appunti di tmux ed esce dalla modalità copia.
- Ctrl+b + ] – Incolla l'ultimo testo copiato.
- q – Esci dalla modalità copia senza copiare nulla.
⚙️ Opzioni Consigliate (.tmux.conf)
Per rendere tmux davvero usabile, si consiglia di creare un file di configurazione chiamato .tmux.conf nella propria cartella Home (~/.tmux.conf) inserendo queste opzioni fondamentali:
Cambia il prefisso da Ctrl+b a Ctrl+a (più comodo per molti)
set -g prefix Ctrl-a unbind Ctrl-b bind Ctrl-a send-prefix
Attiva il supporto al mouse (per scorrere l'output e cliccare sui pannelli)
set -g mouse on
Avvia il conteggio di finestre e pannelli da 1 invece che da 0
set -g base-index 1 setw -g pane-base-index 1
Scorciatoie più intuitive per dividere lo schermo
bind | split-window -h bind - split-window -v unbind '"' unbind %
Abilita i colori a 256 bit nel terminale
set -g default-terminal "screen-256color"
Ricarica la configurazione al volo con Ctrl+b + r
bind r source-file ~/.tmux.conf ; display "Configurazione Ricaricata!"