- Über die Konfigurationsdatei
~/.tmux.conflassen sich Tastenbelegungen, Farben, Statusleiste und Mausverhalten frei anpassen - Die Standard-Prefix-Taste
C-bkann zuC-ageändert werden, und durch das Remapping von Caps Lock auf Ctrl lässt sich die Eingabe effizienter machen - Das Aufteilen von Fenstern kann statt mit
",%intuitiv mit den Tasten|und-erfolgen, und mitrlässt sich die Konfigurationsdatei sofort neu laden - Pane-Wechsel mit Alt + Pfeiltasten, aktivierter Mausmodus und das Deaktivieren der automatischen Umbenennung von Fenstern verbessern die Bedienbarkeit
- Visuelle Elemente wie Farben, Statusleiste, Meldungen und Rahmen lassen sich fein abstimmen, um ein konsistentes Theme zu erstellen
Grundkonzepte der tmux-Anpassung
- Die tmux-Konfigurationsdatei heißt
tmux.conf; liegt sie im Home-Verzeichnis des Benutzers unter~/.tmux.conf, wird sie als persönliche Konfiguration angewendet- Wenn mehrere Benutzer sie gemeinsam nutzen sollen, kann sie in einem systemweiten Verzeichnis liegen; der genaue Ort unterscheidet sich je nach Betriebssystem
- Die genaue Position lässt sich in
man tmuxin der Beschreibung der Option-fnachsehen
- Durch das Bearbeiten der Konfigurationsdatei lassen sich Tastenbelegungen, Farben, Statusleiste, Mausverhalten usw. frei ändern
Weniger unbequeme Prefix-Taste einrichten
- Die Standard-Prefix-Taste
C-bkann auf das leichter erreichbareC-ageändert werdenC-akann mit dem bash-Befehl „zum Zeilenanfang springen“ kollidieren- Wenn die Caps-Lock-Taste auf Ctrl umgemappt wird, lassen sich Prefix-Kombinationen leichter eingeben
- Ein Beispiel für die Konfiguration:
unbind C-b set-option -g prefix C-a bind-key C-a send-prefix - Mit
C-a C-alässt sich der bisherige bash-Befehl weiterhin verwenden
Intuitive Befehle zum Aufteilen von Fenstern
- Statt der Standard-Tasten
"und%werden die visuell intuitiveren|und-verwendet|wird für horizontales Splitten gesetzt,-für vertikales Splitten- Die bisherigen Tastenbelegungen werden aufgehoben
bind | split-window -h bind - split-window -v unbind '"' unbind %
Konfigurationsdatei schnell neu laden
- Wer
tmux.confhäufig bearbeitet, kann sie per Tastenkürzel sofort neu laden- Der Taste
rwird der Befehl zum erneuten Einlesen der Konfigurationsdatei zugewiesen
bind r source-file ~/.tmux.conf - Der Taste
Schneller Pane-Wechsel
- Mit Alt-(Meta-)Taste + Pfeiltasten kann man ohne Prefix zwischen Panes wechseln
Alt-Left,Alt-Right,Alt-UpundAlt-Downwechseln jeweils in diese Richtung
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
Mausmodus aktivieren
- Fenster auswählen und Pane-Größen per Maus anpassen
- Standardmäßig ist die Nutzung auf die Tastatur ausgerichtet, in der Zusammenarbeit ist die Maus aber nützlich
- Besonders bei Pair Programming kann das häufig hilfreich sein
set -g mouse on
Automatische Umbenennung von Fenstern deaktivieren
- Verhindert, dass manuell vergebene Fensternamen beim Ausführen von Befehlen automatisch überschrieben werden
set-option -g allow-rename off
Das Erscheinungsbild von tmux ändern
- Farben, Statusleiste, Meldungen, Pane-Rahmen usw. lassen sich detailliert anpassen
- Im Abschnitt
STYLESfinden sich Einstellungen für viele visuelle Elemente - Wenn man Standard-Terminalfarben (
red,yellow,blackusw.) verwendet, fügt sich das Theme natürlicher ein - Im 256-Farben-Modus können
colour0biscolour256angegeben werden
- Im Abschnitt
- Die Beispielkonfiguration enthält unter anderem:
-
Deaktivierte Glockenbenachrichtigung**,** Uhrfarbe yellow**,** Copy-Mode-Stil
fg=black bg=red bold -
Pane-Rahmenfarbe red**,** aktiver Pane-Rahmen yellow
-
Position der Statusleiste bottom**,** linker Leerraum**,** Uhrzeit rechts
-
Stil des aktuellen Fensters
fg=black bg=red, Stil normaler Fensterfg=red bg=black- Meldungsstil
fg=yellow bg=red bold - Diese Einstellungen sorgen für eine konsistente Farbgestaltung und klare visuelle Trennung
- Meldungsstil
-
Weiterführende Materialien
- Verschiedene Beispiele für tmux-Konfigurationen finden sich auf GitHub in Repositories zu
tmux.confoderdotfiles- Auch auf Reddit in
/r/dotfilesund/r/unixporngibt es Anregungen
- Auch auf Reddit in
- Die vollständige Konfiguration ist im GitHub-dotfiles-Repository veröffentlicht
- Für tieferes Lernen werden die man-Page von tmux und der Abschnitt Configuring tmux im tmux-Wiki empfohlen
- Dort werden die neuesten Funktionen und alle Detailoptionen behandelt
- Wer Terminal-Farbthemes selbst entwerfen möchte, kann Root Loops(https://rootloops.sh/) verwenden
- Unterstützt individuell angepasste Terminal-Farbkonfigurationen
1 Kommentare
Hacker-News-Kommentare
Ich hatte früher tmux benutzt, bin aber komplett zu Zellij gewechselt, seit ich es entdeckt habe
Tabs und Panels lassen sich viel intuitiver konfigurieren, und Scrollen und Textauswahl mit der Maus machen Copy-and-Paste deutlich einfacher
Button-Links lassen sich nicht per Rechtsklick kopieren und sind auch aus Sicht der Barrierefreiheit nicht ideal
In tmux nutze ich diese Funktion alle 1–2 Minuten, aber die Zellij-Entwickler schlagen vor, die Daten an einen Editor zu pipen, was jedoch nicht mit der System-Zwischenablage kompatibel ist
Deshalb bin ich am Ende wieder zu tmux zurückgekehrt
Zellij ist etwa 50 MB groß, während tmux selbst inklusive Abhängigkeitsbibliotheken nur ungefähr 2 MB braucht — der Größenunterschied ist erheblich
Zellij wurde mit der Zeit immer aufgeblähter, was mich gestört hat, und inzwischen bin ich mit tmuxp für die Sitzungsverwaltung und autossh für die Verbindungsstabilität viel zufriedener
Was Keybindings angeht: ^a ist die Tradition bei screen, ^b die bei tmux
Wenn man Administrator ist und viele Systeme betreut, ist es wichtig, die Standard-Keymaps zu beherrschen
Ich habe in meinen persönlichen Einstellungen nur Farben, den Hintergrund des aktiven Panels, die Uhr mit Zeitstempel und die Mausaktivierung geändert und die Keybindings unverändert gelassen
Wenn man sich einmal daran gewöhnt hat, sind die Standardwerte sogar bequemer
Ich hatte tmux aufgegeben und war zu Zellij gewechselt, weil Shift+Enter nicht funktionierte
Aber dann hat Zellij wegen eines Panic-Crashs Prozesse abgeschossen, sodass ich am Ende zu tmux zurückgekehrt bin
Die Lösung war
"bind-key -T root S-Enter send-keys C-j", gefunden in diesem Issue"bind -n S-Enter send-keys Escape '[13;2u'"gelöstpi.dev warnt zwar, dass keine extended-keys-Einstellung gesetzt sei, aber es funktioniert trotzdem
Bei tmux war es praktisch, dass beim Beenden des Servers auch die untergeordneten Prozesse aufgeräumt wurden
\ + EnterAls ich erst einmal vom Control Mode von tmux erfahren hatte, war das ein absoluter Gamechanger
Wenn man
tmux -CCin iTerm2 ausführt, funktionieren Tabs, Scrollen, Copy-and-Paste, Shortcuts usw. nativ im TerminalDie Tabs sind auch visuell vollständig sichtbar, was besonders für Einsteiger nützlich ist
In tmux nutze ich Alt+Zahl für einen schnellen Fensterwechsel
Zum Beispiel mit
bind-key -n M-1 select-window -t :1Mit Alt-/ kann man auch den Copy-Modus im vi-Stil öffnen
Unter Wayland kann man mit
wl-copyper Mausziehen oder mit der TasteykopierenIch habe auch ein Design im Powerline-Stil hinzugefügt, dafür braucht man powerline-fonts
Ich habe tmux so stark angepasst, dass ich bei einer SSH-Verbindung auf einen neuen Server die Standardbedienung vergesse
Inzwischen verwende ich wieder die Standardkonfiguration. Nur die Maus-Scroll-Einstellung ändere ich jedes Mal
Ein verwandtes Konzept ist The Lisp Curse
Zum Beispiel habe ich Ctrl-b beibehalten und Ctrl-Space als zusätzlichen Shortcut ergänzt
Ich war von tmux’ Control Mode in iTerm2 beeindruckt
Damit kann man als lokaler Fenstermanager Remote-Terminalfenster steuern
Auch in ghostty wird an einer Implementierung dieser Funktion gearbeitet, worauf ich mich freue
Viele finden die Standard-Prefix-Taste von tmux (C-b) unhandlich, aber ich sehe gerade in dieser Unbequemlichkeit einen Vorteil
Man drückt sie fast nie versehentlich
Auch die Befehle zum Aufteilen wirken auf mich intuitiv —
%fühlt sich wie eine horizontale Linie an,"wie eine vertikaleDie Konfiguration habe ich nur am Anfang häufig neu geladen, inzwischen fast nie mehr
Falls nötig, kann man in
.tmux.confeinfach Folgendes ergänzen: Wenn man nur lokal arbeitet, muss man sich über Konflikte keine Sorgen machenIch liebe tmux, aber der Haken ist, dass man dafür eine 400 Zeilen lange Konfigurationsdatei zu brauchen scheint
Im Auslieferungszustand ist es nicht besonders benutzerfreundlich, aber wenn man viel daran feilt, wird es wirklich großartig
Man kann sich an meiner Konfigurationsdatei orientieren
Ich musste mir nur etwa neun Shortcuts merken
Eine PowerShell-Version will ich ebenfalls noch hinzufügen
Nur das Prefix-Binding habe ich wieder auf den Originalzustand zurückgesetzt
Vor einiger Zeit habe ich an einem Wochenende das Buch „tmux 2: mouse-free productivity“ gelesen, und es war eines der Bücher mit dem größten Einfluss auf meine Produktivität
Die aktuelle Ausgabe wird auch weiterhin gepflegt → tmux 3: productive mouse-free development