# tmux — Mehrere Terminal-Sitzungen in einem Fenster verwalten

> Praxis-Guide zu tmux: Sitzungen starten, Fenster und Panes splitten, ablösen und wieder anhängen – Terminal-Sitzungen überstehen SSH-Abbruch und Logout.

Source: https://www.jpkc.com/db/cheatsheets/shell-system/tmux/

<!-- PROSE:intro -->
tmux ist ein Terminal-Multiplexer: Er bündelt mehrere Terminal-Sitzungen, Fenster und Panes in einem einzigen Fenster – und hält sie am Leben, auch wenn du die Verbindung trennst. Genau das macht ihn auf entfernten Servern unverzichtbar: Eine SSH-Verbindung kann abbrechen oder du loggst dich aus, doch deine laufenden Prozesse arbeiten in der abgelösten Session unbeirrt weiter. Dieser Guide zeigt dir die Befehle und Tastenkürzel, die du im Alltag wirklich brauchst – vom Anlegen benannter Sessions bis zur eigenen `~/.tmux.conf`.
<!-- PROSE:intro:end -->

## Sitzungen

`tmux` — Startet eine neue, unbenannte Sitzung.

```bash
tmux
```

`tmux new -s <name>` — Startet eine neue, benannte Sitzung.

```bash
tmux new -s project
```

`tmux ls` — Listet alle aktiven Sitzungen auf.

```bash
tmux ls
```

`tmux attach -t <name>` — Hängt sich per Name oder Nummer an eine bestehende Sitzung an.

```bash
tmux attach -t project
```

`tmux attach` — Hängt sich an die zuletzt genutzte Sitzung an.

```bash
tmux attach
```

`tmux kill-session -t <name>` — Beendet eine bestimmte Sitzung.

```bash
tmux kill-session -t project
```

`tmux kill-server` — Beendet den tmux-Server und damit alle Sitzungen.

```bash
tmux kill-server
```

`tmux rename-session -t <old> <new>` — Benennt eine bestehende Sitzung um.

```bash
tmux rename-session -t 0 main
```

`tmux switch -t <name>` — Wechselt innerhalb von tmux zu einer anderen Sitzung.

```bash
tmux switch -t project
```

## Sitzungs-Tastenkürzel (Prefix: Ctrl+b)

`Ctrl+b d` — Löst dich von der aktuellen Sitzung ab (läuft im Hintergrund weiter).

```bash
Ctrl+b d
```

`Ctrl+b $` — Benennt die aktuelle Sitzung um.

```bash
Ctrl+b $
```

`Ctrl+b s` — Zeigt die Sitzungsliste und wechselt interaktiv.

```bash
Ctrl+b s
```

`Ctrl+b (` — Wechselt zur vorherigen Sitzung.

```bash
Ctrl+b (
```

`Ctrl+b )` — Wechselt zur nächsten Sitzung.

```bash
Ctrl+b )
```

`Ctrl+b L` — Wechselt zur zuletzt genutzten Sitzung.

```bash
Ctrl+b L
```

## Fenster (Tabs)

`Ctrl+b c` — Legt ein neues Fenster an.

```bash
Ctrl+b c
```

`Ctrl+b ,` — Benennt das aktuelle Fenster um.

```bash
Ctrl+b ,
```

`Ctrl+b w` — Listet alle Fenster auf und wählt interaktiv aus.

```bash
Ctrl+b w
```

`Ctrl+b n` — Wechselt zum nächsten Fenster.

```bash
Ctrl+b n
```

`Ctrl+b p` — Wechselt zum vorherigen Fenster.

```bash
Ctrl+b p
```

`Ctrl+b <number>` — Wechselt per Nummer zu einem Fenster (0–9).

```bash
Ctrl+b 2
```

`Ctrl+b &` — Schließt das aktuelle Fenster (mit Rückfrage).

```bash
Ctrl+b &
```

`Ctrl+b l` — Wechselt zwischen aktuellem und zuletzt aktivem Fenster.

```bash
Ctrl+b l
```

`tmux swap-window -s <src> -t <dst>` — Tauscht zwei Fenster anhand ihrer Indexnummern.

```bash
tmux swap-window -s 2 -t 0
```

`tmux move-window -t <index>` — Verschiebt das aktuelle Fenster auf einen neuen Index.

```bash
tmux move-window -t 5
```

## Panes (Splits)

`Ctrl+b %` — Teilt das aktuelle Pane vertikal (links/rechts).

```bash
Ctrl+b %
```

`Ctrl+b "` — Teilt das aktuelle Pane horizontal (oben/unten).

```bash
Ctrl+b "
```

`Ctrl+b <arrow>` — Verschiebt den Fokus zum Pane in Pfeilrichtung.

```bash
Ctrl+b ←
```

`Ctrl+b o` — Springt der Reihe nach durch die Panes des Fensters.

```bash
Ctrl+b o
```

`Ctrl+b q` — Blendet kurz die Pane-Nummern ein. Mit einer Zahl springst du zum Pane.

```bash
Ctrl+b q
```

`Ctrl+b x` — Schließt das aktuelle Pane (mit Rückfrage).

```bash
Ctrl+b x
```

`Ctrl+b z` — Schaltet den Zoom des aktuellen Panes um (Vollbild/zurück).

```bash
Ctrl+b z
```

`Ctrl+b {` — Tauscht das aktuelle Pane mit dem vorherigen.

```bash
Ctrl+b {
```

`Ctrl+b }` — Tauscht das aktuelle Pane mit dem nächsten.

```bash
Ctrl+b }
```

`Ctrl+b Space` — Wechselt durch die voreingestellten Pane-Layouts (even-horizontal, even-vertical usw.).

```bash
Ctrl+b Space
```

## Panes skalieren

`Ctrl+b Ctrl+<arrow>` — Skaliert das aktuelle Pane um 1 Zelle in Pfeilrichtung.

```bash
Ctrl+b Ctrl+→
```

`Ctrl+b Alt+<arrow>` — Skaliert das aktuelle Pane um 5 Zellen in Pfeilrichtung.

```bash
Ctrl+b Alt+→
```

`tmux resize-pane -D <n>` — Vergrößert das aktuelle Pane um n Zeilen nach unten.

```bash
tmux resize-pane -D 10
```

`tmux resize-pane -U <n>` — Vergrößert das aktuelle Pane um n Zeilen nach oben.

```bash
tmux resize-pane -U 5
```

`tmux resize-pane -L <n>` — Vergrößert das aktuelle Pane um n Spalten nach links.

```bash
tmux resize-pane -L 10
```

`tmux resize-pane -R <n>` — Vergrößert das aktuelle Pane um n Spalten nach rechts.

```bash
tmux resize-pane -R 10
```

## Kopiermodus & Scrollback

`Ctrl+b [` — Startet den Kopiermodus zum Scrollen und Markieren. Nutze Pfeiltasten oder Bild auf/ab.

```bash
Ctrl+b [
```

`q` — Verlässt den Kopiermodus (im Kopiermodus).

```bash
q
```

`Space` — Startet die Markierung (im Kopiermodus mit vi-Tasten).

```bash
Space
```

`Enter` — Kopiert die Markierung und verlässt den Kopiermodus (mit vi-Tasten).

```bash
Enter
```

`Ctrl+b ]` — Fügt den zuletzt kopierten Text ein.

```bash
Ctrl+b ]
```

`tmux capture-pane -p` — Erfasst den sichtbaren Pane-Inhalt und gibt ihn auf stdout aus.

```bash
tmux capture-pane -p > output.txt
```

`tmux capture-pane -p -S -<n>` — Erfasst n Zeilen aus dem Scrollback-Verlauf.

```bash
tmux capture-pane -p -S -1000 > scrollback.txt
```

## Befehlsmodus & Sonstiges

`Ctrl+b :` — Öffnet die tmux-Befehlszeile (jeder tmux-Befehl ohne das Präfix „tmux").

```bash
Ctrl+b : split-window -h
```

`Ctrl+b ?` — Zeigt alle Tastenkürzel an.

```bash
Ctrl+b ?
```

`Ctrl+b t` — Zeigt eine große Uhr im aktuellen Pane.

```bash
Ctrl+b t
```

`tmux source-file ~/.tmux.conf` — Lädt die tmux-Konfigurationsdatei neu.

```bash
tmux source-file ~/.tmux.conf
```

`tmux info` — Zeigt Server-Informationen und Terminal-Fähigkeiten an.

```bash
tmux info
```

`tmux list-keys` — Listet alle Tastenkürzel und ihre Befehle auf.

```bash
tmux list-keys
```

## Konfiguration (~/.tmux.conf)

`set -g mouse on` — Aktiviert die Maus zum Scrollen, Auswählen und Skalieren von Panes.

```bash
set -g mouse on
```

`set -g prefix C-a` — Ändert die Prefix-Taste von Ctrl+b auf Ctrl+a.

```bash
set -g prefix C-a
unbind C-b
bind C-a send-prefix
```

`set -g base-index 1` — Beginnt die Fensternummerierung bei 1 statt bei 0.

```bash
set -g base-index 1
setw -g pane-base-index 1
```

`set -g history-limit <n>` — Legt die Größe des Scrollback-Puffers fest (Anzahl Zeilen).

```bash
set -g history-limit 50000
```

`setw -g mode-keys vi` — Nutzt vi-artige Tastenkürzel im Kopiermodus.

```bash
setw -g mode-keys vi
```

`set -g default-terminal "screen-256color"` — Setzt den Standard-Terminaltyp für 256-Farben-Unterstützung.

```bash
set -g default-terminal "screen-256color"
```

`bind | split-window -h` — Belegt eine eigene Taste zum Teilen von Panes (z. B. | vertikal, - horizontal).

```bash
bind | split-window -h
bind - split-window -v
```

<!-- PROSE:outro -->
## Fazit

tmux verwandelt ein einzelnes Terminal in eine vollwertige Arbeitsumgebung: Mit `tmux new -s <name>` startest du eine benannte Sitzung, mit `Ctrl+b d` löst du dich ab und mit `tmux attach -t <name>` bist du später genau dort wieder – auch nach einem SSH-Abbruch oder Logout. Genau diese Persistenz unterscheidet ihn von einem gewöhnlichen Terminal und macht ihn zur modernen, mächtigeren Alternative zu `screen`. Für einmalige Hintergrundjobs ohne interaktive Oberfläche reicht oft `nohup` – sobald du aber mehrere Fenster, Panes und eine ablösbare Sitzung brauchst, ist tmux das Werkzeug der Wahl. Prefix, Mausunterstützung und eigene Tastenkürzel passt du dauerhaft in der `~/.tmux.conf` an.

## Weiterführende Links

- [Wikipedia: tmux](https://de.wikipedia.org/wiki/Tmux) – deutschsprachiger Überblick zu Terminal-Multiplexern und tmux
- [tmux-Wiki auf GitHub](https://github.com/tmux/tmux/wiki) – offizielles Wiki mit Einstieg, Tastenkürzeln und Konfiguration
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [screen](https://www.jpkc.com/db/cheatsheets/shell-system/screen/) – der klassische Terminal-Multiplexer, Vorläufer und Alternative zu tmux
- [nohup](https://www.jpkc.com/db/cheatsheets/shell-system/nohup/) – entkoppelt Prozesse vom Terminal, damit sie Logout und SSH-Abbruch überstehen
- [bash](https://www.jpkc.com/db/cheatsheets/shell-system/bash/) – die Shell, die in jedem tmux-Pane läuft

