Handbücher für die Kommandozeile

Man » tmux Manual online - detaillierte Online-Dokumentation für die tmux-Manpage

🌍
tmux — Terminal-Multiplexer

SYNOPSIS

tmux  [-2CDhlNuVv]  [-c  shell-command] [-f file] [-L socket-name] [-S socket-path] [-T features]
[command [flags]]

DESCRIPTION

tmux ist ein Terminal-Multiplexer: Er ermöglicht die Erstellung, den Zugriff und die Steuerung mehrerer Terminals von einem einzigen Bildschirm aus. tmux kann von einem Bildschirm getrennt werden und läuft dann weiterhin im Hintergrund weiter, bevor er später wieder verbunden wird.

Wenn tmux gestartet wird, wird eine neue Sitzung mit einem einzelnen Fenster erstellt und auf dem Bildschirm angezeigt. Eine Statusleiste am unteren Rand des Bildschirms zeigt Informationen über die aktuelle Sitzung an und wird verwendet, um interaktive Befehle einzugeben.

Eine Sitzung ist eine einzelne Sammlung von Pseudo-Terminals, die von tmux verwaltet werden. Jede Sitzung hat eine oder mehrere Fenster, die ihr zugeordnet sind. Ein Fenster belegt den gesamten Bildschirm und kann in rechteckige Bereiche unterteilt werden, von denen jeder ein separates Pseudo-Terminal ist (die technische Beschreibung von Pseudo-Terminals finden Sie in der [pty(4)]({filename}../../pty)-Manpage). Eine beliebige Anzahl von tmux-Instanzen kann mit derselben Sitzung verbunden werden, und in derselben Sitzung können sich eine beliebige Anzahl von Fenstern befinden. Sobald alle Sitzungen beendet sind, wird tmux beendet.

Jede Sitzung ist persistent und übersteht versehentliche Trennungen (z. B. ssh(1)-Verbindungstimeout) oder absichtliche Trennungen (mit den Tastenkombinationen „C-b d“). tmux kann mit dem folgenden Befehl wiederhergestellt werden:

$ tmux attach

In tmux wird eine Sitzung auf dem Bildschirm durch einen Client angezeigt, und alle Sitzungen werden von einem einzelnen Server verwaltet. Der Server und jeder Client sind separate Prozesse, die über eine Socket-Verbindung in /tmp kommunizieren.

Die Optionen sind wie folgt:

-2            Erzwingt, dass tmux davon ausgeht, dass das Terminal 256 Farben unterstützt. Dies entspricht -T 25.

-C            Startet tmux im Steuermodus (siehe Abschnitt „STEUERMODUS“). Bei zweimaliger Angabe (-CC) wird die Echo-Funktion deaktiviert.

-c shell-command

Führt shell-command mit der Standardshell aus. Gegebenenfalls wird der tmux-Server gestartet, um die Option default-shell abzurufen. Diese Option dient der Kompatibilität mit sh(1), wenn tmux als Login-Shell verwendet wird.

-D            Startet den tmux-Server nicht als Daemon. Dadurch wird auch die Option exit-empty deaktiviert. Mit -D kann kein Befehl angegeben werden.

-f file       Gibt eine alternative Konfigurationsdatei an. Standardmäßig lädt tmux die systemweite Konfigurationsdatei aus /etc/tmux.conf, falls vorhanden, und sucht dann nach einer benutzerdefinierten Konfigurationsdatei unter ~/.tmux.conf oder $XDG_CONFIG_HOME/tmux/tmux.conf.

Die Konfigurationsdatei ist eine Reihe von tmux-Befehlen, die beim Starten des Servers sequenziell ausgeführt werden. tmux lädt Konfigurationsdateien nur einmal, wenn der Serverprozess gestartet wurde. Mit dem Befehl source-file kann eine Datei später geladen werden.


tmux zeigt alle Fehlermeldungen von Befehlen in Konfigurationsdateien in der ersten erstellten Sitzung an und setzt die Verarbeitung der restlichen Konfigurationsdatei fort.

-h Druckt Nutzungsinformationen und beendet das Programm.

-L socket-name
tmux speichert den Server-Socket in einem Verzeichnis unterhalb von TMUX_TMPDIR oder /tmp, wenn dieser nicht gesetzt ist. Der Standardsocket hat den Namen „default“. Mit dieser Option kann ein anderer Socketname angegeben werden, wodurch mehrere unabhängige tmux-Server ausgeführt werden können. Im Gegensatz zu -S ist kein vollständiger Pfad erforderlich: Alle Sockets werden in einem Verzeichnis tmux-UID unter dem angegebenen Verzeichnis erstellt, oder in /tmp. Das Verzeichnis tmux-UID wird von tmux erstellt und darf nicht von anderen Benutzern lesbar, beschreibbar oder ausführbar sein.

Wenn der Socket versehentlich entfernt wird, kann das SIGUSR1-Signal an den tmux-Serverprozess gesendet werden, um ihn neu zu erstellen (beachten Sie, dass dies fehlschlägt, wenn irgendwelche übergeordneten Verzeichnisse fehlen).

-l Verhält sich wie eine Login-Shell. Diese Option hat derzeit keine Wirkung und dient der Kompatibilität mit anderen Shells, wenn tmux als Login-Shell verwendet wird.

-N Startet den Server nicht, auch wenn der Befehl dies normalerweise tun würde (z. B. new-session oder start-server).

-S socket-path
Gibt einen vollständigen alternativen Pfad zum Server-Socket an. Wenn -S angegeben ist, wird das Standardsocket-Verzeichnis nicht verwendet und alle -L-Optionen werden ignoriert.

-T features Legt Terminalfunktionen für den Client fest. Dies ist eine durch Kommas getrennte Liste von Funktionen. Siehe die Option terminal-features.

-u Gibt UTF-8-Ausgabe auf dem Terminal aus, auch wenn die erste Umgebungsvariable von LC_ALL, LC_CTYPE oder LANG, die gesetzt ist, nicht „UTF-8“ oder „UTF8“ enthält.

-V Gibt die tmux-Version aus.

-v Fordert eine ausführliche Protokollierung an. Protokollmeldungen werden in den Dateien tmux-client-PID.log und tmux-server-PID.log im aktuellen Verzeichnis gespeichert, wobei PID die PID des Server- oder Clientprozesses ist. Wenn -v zweimal angegeben wird, wird eine zusätzliche Datei tmux-out-PID.log generiert, die eine Kopie von allem enthält, was tmux auf das Terminal schreibt.

Das SIGUSR2-Signal kann an den tmux-Serverprozess gesendet werden, um die Protokollierung zwischen „Ein“ (als ob -v angegeben worden wäre) und „Aus“ umzuschalten.

command [flags]
Dies gibt einen der Befehle an, mit denen tmux gesteuert wird, wie in den folgenden Abschnitten beschrieben. Wenn keine Befehle angegeben sind, wird der in default-client-command angegebene Befehl angenommen, der standardmäßig new-session ist.

STANDARD-TASTENBELEGUNGEN

tmux kann von einem verbundenen Client aus gesteuert werden, indem eine Tastenkombination aus einer Präfix-Taste, standardmäßig „C-b“ (Strg+b), gefolgt von einer Befehlstaste verwendet wird.

Die Standard-Tastenbelegungen für Befehle lauten:

C-b Sendet die Präfix-Taste (C-b) an die Anwendung.
C-o Rotiert die Bereiche im aktuellen Fenster im Uhrzeigersinn.
C-z Setzt den tmux-Client fort.
! Bricht das aktuelle Bereich aus dem Fenster aus.
" Teilt das aktuelle Bereich in zwei Bereiche, oben und unten.
# Listet alle Zwischenspeicherpuffer auf.
$ Benennt die aktuelle Sitzung um.
% Teilt das aktuelle Bereich in zwei Bereiche, links und rechts.
& Beendet das aktuelle Fenster.
' Fordert einen Index an, um ein Fenster auszuwählen.
( Schaltet den verbundenen Client auf die vorherige Sitzung um.
) Schaltet den verbundenen Client auf die nächste Sitzung um.
, Benennt das aktuelle Fenster um.
- Löscht den zuletzt kopierten Textpuffer.
. Fordert einen Index an, um das aktuelle Fenster zu verschieben.
0 bis 9 Wählt die Fenster 0 bis 9 aus.
: Ruft die tmux-Befehlszeile auf.
; Wechselt zum zuvor aktiven Bereich.
= Wählt interaktiv einen Puffer aus, der aus einer Liste eingefügt werden soll.
? Listet alle Tastenbelegungen auf.
D Wählt einen Client zum Trennen aus.
L Schaltet den verbundenen Client auf die letzte Sitzung zurück.
[ Ruft den Kopier-Modus auf, um Text zu kopieren oder den Verlauf anzuzeigen.
] Fügt den zuletzt kopierten Textpuffer ein.
c Erstellt ein neues Fenster.
d Trennt den aktuellen Client.
f Fordert auf, in offenen Fenstern nach Text zu suchen.
i Zeigt einige Informationen über das aktuelle Fenster an.
l Wechselt zum vorherigen ausgewählten Fenster.
m Markiert das aktuelle Bereich (siehe select-pane -m).
M Löscht das markierte Bereich.
n Wechselt zum nächsten Fenster.
o Wählt das nächste Bereich im aktuellen Fenster aus.
p Wechselt zum vorherigen Fenster.
q Zeigt kurz die Bereichsindizes an.
r Erzwingt ein erneutes Zeichnen des verbundenen Clients.
s Wählt interaktiv eine neue Sitzung für den verbundenen Client aus.
t Zeigt die Uhrzeit an.
w Wählt das aktuelle Fenster interaktiv aus.
x Beendet das aktuelle Bereich.
z Schaltet den Zoomzustand des aktuellen Bereichs um.
{ Vertauscht das aktuelle Bereich mit dem vorherigen Bereich.
} Vertauscht das aktuelle Bereich mit dem nächsten Bereich.
~ Zeigt frühere Meldungen von tmux an, falls vorhanden.
Page Up Ruft den Kopier-Modus auf und scrollt eine Seite nach oben.
Hoch, Runter,
Links, Rechts
Wechselt zum Bereich über, unter, links oder rechts des aktuellen Bereichs.
M-1 bis M-7 Ordnet die Bereiche in einem der sieben vordefinierten Layouts an: even-horizontal, even-vertical, main-horizontal, main-horizontal-mirrored, main-vertical, main-vertical-mirrored oder tiled.
Leertaste Ordnet das aktuelle Fenster im nächsten vordefinierten Layout an.
M-n Wechselt zum nächsten Fenster mit einem Glocken- oder Aktivitätsmarker.
M-o Rotiert die Bereiche im aktuellen Fenster entgegen dem Uhrzeigersinn.
M-p Wechselt zum vorherigen Fenster mit einem Glocken- oder Aktivitätsmarker.
C-Hoch, C-Runter
C-Links, C-Rechts
Ändert die Größe des aktuellen Bereichs in Schritten von einer Zelle.
M-Hoch, M-Runter
M-Links, M-Rechts
Ändert die Größe des aktuellen Bereichs in Schritten von fünf Zellen.

Die Tastenkombinationen können mit den Befehlen bind-key und unbind-key geändert werden.

BEFEHLSANALyse UND -AUSFÜHRUNG

tmux unterstützt eine große Anzahl von Befehlen, mit denen das Verhalten gesteuert werden kann. Jeder Befehl hat einen Namen und kann null oder mehr Flags und Argumente akzeptieren. Sie können mit dem Befehl bind-key einer Taste zugeordnet oder von der Shell-Eingabeaufforderung, einem Shell-Skript, einer Konfigurationsdatei oder der Befehlseingabeaufforderung aus ausgeführt werden. Beispielsweise kann der gleiche Befehl set-option, der von der Shell-Eingabeaufforderung, aus ~/.tmux.conf und einer Taste aus ausgeführt wird, wie folgt aussehen:


$ tmux set-option -g status-style bg=cyan

set-option -g status-style bg=cyan

bind-key C set-option -g status-style bg=cyan

Hier ist der Befehlsname 'set-option', '-g' ist ein Flag und 'status-style' und 'bg=cyan' sind Argumente.

tmux unterscheidet zwischen der Befehlsanalyse und -ausführung. Um einen Befehl auszuführen, muss tmux ihn in seinen Namen und seine Argumente aufteilen. Dies ist die Befehlsanalyse. Wenn ein Befehl von der Shell ausgeführt wird, analysiert die Shell ihn; innerhalb von tmux oder aus einer Konfigurationsdatei analysiert tmux ihn. Beispiele, wann tmux Befehle analysiert, sind:

- in einer Konfigurationsdatei;
- wenn er an der Befehlszeile eingegeben wird (siehe command-prompt);
- wenn er an bind-key übergeben wird;
- wenn er als Argumente an if-shell oder confirm-before übergeben wird.

Um Befehle auszuführen, hat jeder Client eine „Befehlswarteschlange“. Eine globale Befehlswarteschlange, die keinem Client zugeordnet ist, wird beim Start für Konfigurationsdateien wie ~/.tmux.conf verwendet. Die analysierten Befehle, die der Warteschlange hinzugefügt werden, werden in der Reihenfolge ausgeführt. Einige Befehle, wie if-shell und confirm-before, analysieren ihr Argument, um einen neuen Befehl zu erstellen, der sofort danach in die Warteschlange eingefügt wird. Das bedeutet, dass Argumente zweimal oder öfter analysiert werden können – einmal, wenn der übergeordnete Befehl (wie if-shell) analysiert wird, und dann erneut, wenn er sein Argument analysiert und ausführt. Befehle wie if-shell, run-shell und display-panes stoppen die Ausführung nachfolgender Befehle in der Warteschlange, bis etwas passiert: if-shell und run-shell, bis ein Shell-Befehl abgeschlossen ist, und display-panes, bis eine Taste gedrückt wird.

Zum Beispiel werden die folgenden Befehle:

new-session; new-window
if-shell "true" "split-window"
kill-session

new-session, new-window, if-shell, den Shell-Befehl true(1), split-window und kill-session in dieser Reihenfolge ausführen.

Der Abschnitt „COMMANDS“ listet die tmux-Befehle und ihre Argumente auf.

ANALYSESYNTAX

Dieser Abschnitt beschreibt die Syntax der von tmux analysierten Befehle, z. B. in einer Konfigurationsdatei oder an der Befehlszeile. Beachten Sie, dass Befehle, die in der Shell eingegeben werden, von der Shell analysiert werden – siehe zum Beispiel ksh(1) oder csh(1).

Jeder Befehl wird durch eine neue Zeile oder ein Semikolon (;) beendet. Durch Semikolons getrennte Befehle bilden zusammen eine „Befehlssequenz“ – wenn ein Befehl in der Sequenz einen Fehler verursacht, werden keine nachfolgenden Befehle ausgeführt.

Es wird empfohlen, dass ein als Befehlstrennzeichen verwendetes Semikolon als einzelnes Token geschrieben wird, z. B. aus sh(1):

$ tmux neww \; splitw

Oder:

$ tmux neww ';' splitw

Oder von der tmux-Befehlszeile:


neww ; splitw

Allerdings wird ein nachgestelltes Semikolon auch als Befehlstrennzeichen interpretiert, zum Beispiel in diesen sh(1) Befehlen:

$ tmux neww\; splitw

Oder:

$ tmux 'neww;' splitw

Wie in diesen Beispielen, wenn tmux von der Shell aus ausgeführt wird, muss besonders darauf geachtet werden, Semikolons korrekt zu quoten:

    Semikolons, die als Befehlstrennzeichen interpretiert werden sollen, müssen gemäß den Shell-Konventionen escaped werden. Für [sh]({filename}../../sh)(1) bedeutet dies typischerweise, dass sie in Anführungszeichen gesetzt (wie z. B. ‘neww ;’ splitw’) oder escaped (wie z. B. ‘neww \; splitw’) werden.

    Einzelne Semikolons oder nachgestellte Semikolons, die als Argumente interpretiert werden sollen, müssen zweimal escaped werden: einmal gemäß den Shell-Konventionen und ein zweites Mal für tmux; zum Beispiel:

$ tmux neww 'foo\;' bar
$ tmux neww foo\\\; bar

    Semikolons, die keine einzelnen Token sind oder auf ein anderes Token folgen, müssen nur einmal gemäß den Shell-Konventionen escaped werden; zum Beispiel:

$ tmux neww 'foo-;-bar'
$ tmux neww foo-\;-bar

Kommentare werden durch das nicht-gequotete Zeichen # gekennzeichnet – jeglicher verbleibende Text nach einem Kommentar wird bis zum Ende der Zeile ignoriert.

Wenn das letzte Zeichen einer Zeile \ ist, wird die Zeile mit der folgenden Zeile verbunden (das \ und das Zeilenumbruchzeichen werden vollständig entfernt). Dies wird als Zeilenfortsetzung bezeichnet und gilt sowohl innerhalb als auch außerhalb von Anführungszeichen und in Kommentaren, aber nicht innerhalb von geschweiften Klammern.

Befehlsargumente können als Zeichenketten angegeben werden, die von einfachen (') oder doppelten Anführungszeichen (") umschlossen sind, oder als Befehlslisten, die von geschweiften Klammern ({}) umschlossen sind. Dies ist erforderlich, wenn das Argument ein spezielles Zeichen enthält. Zeichenketten in einfachen und doppelten Anführungszeichen können sich nicht über mehrere Zeilen erstrecken, es sei denn, mit Zeilenfortsetzung. Geschweifte Klammern können sich über mehrere Zeilen erstrecken.

Außerhalb von Anführungszeichen und innerhalb von doppelten Anführungszeichen werden folgende Ersetzungen durchgeführt:

- Umgebungsvariablen, die mit $ beginnen, werden durch ihren Wert aus der globalen Umgebung ersetzt (siehe den Abschnitt „GLOBALE UND SESSION-UMGEBUNG“).

- Ein führendes ~ oder ~user wird durch das Home-Verzeichnis des aktuellen oder angegebenen Benutzers erweitert.

- \uXXXX oder \uXXXXXXXX wird durch das Unicode-Codepunkt ersetzt, das der angegebenen vier- oder achtziffrigen hexadezimalen Zahl entspricht.

- Wenn es durch einen Backslash (\) escaped wird, werden die folgenden Zeichen durch Folgendes ersetzt: \e durch das Escape-Zeichen; \r durch einen Wagenrücklauf; \n durch einen Zeilenumbruch; und \t durch einen Tabulator.

- \ooo wird durch ein Zeichen mit dem oktalen Wert ooo ersetzt. Es werden drei oktale Ziffern benötigt, z. B. \001. Das größte gültige Zeichen ist \377.

- Alle anderen Zeichen, die von einem Backslash (\) gefolgt werden, werden durch sich selbst ersetzt (d. h. der Backslash wird entfernt) und werden nicht als spezielle Bedeutung behandelt – daher wird \; beispielsweise nicht als Befehlssequenz und \$ nicht als Umgebungsvariable expandiert.

Geschweifte Klammern werden als Konfigurationsdatei geparst (so dass Bedingungen wie „%if“ verarbeitet werden) und dann in eine Zeichenkette konvertiert. Sie sollen den Bedarf an zusätzlichem Escaping beim Übergeben einer Gruppe von tmux-Befehlen als Argument vermeiden (z. B. an if-shell). Die folgenden beiden Beispiele erzeugen denselben Befehl – beachten Sie, dass beim Verwenden von {} kein Escaping erforderlich ist:


wenn-shell true {
anzeigen -p 'geschweifte-dollar-foo: }$foo'
}

wenn-shell true "anzeigen -p 'geschweifte-dollar-foo: }\$foo'"

Geschweifte Klammern können in geschweifte Klammern eingeschlossen werden, zum Beispiel:

bind x wenn-shell "true" {
wenn-shell "true" {
anzeigen "true!"
}
}

Umgebungsvariablen können mit der Syntax „Name=Wert“ gesetzt werden, zum Beispiel „HOME=/home/user“. Während des Parsens gesetzte Variablen werden der globalen Umgebung hinzugefügt. Eine versteckte Variable kann mit „%hidden“ gesetzt werden, zum Beispiel:

%hidden MYVAR=42

Versteckte Variablen werden nicht an die Umgebung von Prozessen übergeben, die von tmux erstellt werden. Siehe den Abschnitt „Globale und Sitzungsumgebung“.

Befehle können bedingt geparst werden, indem sie mit „%if“, „%elif“, „%else“ und „%endif“ umschlossen werden. Das Argument für „%if“ und „%elif“ wird als Format erweitert (siehe „Formate“) und wenn es zu false (null oder leer) ausgewertet wird, wird der nachfolgende Text bis zum schließenden „%elif“, „%else“ oder „%endif“ ignoriert. Zum Beispiel:

%if "#{==:#{host},myhost}"
setzen -g status-style bg=rot
%elif "#{==:#{host},myotherhost}"
setzen -g status-style bg=grün
%else
setzen -g status-style bg=blau
%endif

Dadurch wird die Statusleiste auf Rot gesetzt, wenn sie auf „myhost“ ausgeführt wird, auf Grün, wenn sie auf „myotherhost“ ausgeführt wird, oder auf Blau, wenn sie auf einem anderen Host ausgeführt wird. Bedingte Anweisungen können in einer Zeile angegeben werden, zum Beispiel:

%if #{==:#{host},myhost} setzen -g status-style bg=rot %endif

BEFEHLE

Dieser Abschnitt beschreibt die von tmux unterstützten Befehle. Die meisten Befehle akzeptieren das optionale Argument -t (und manchmal -s) mit einem der Ziele: Ziel-Client, Ziel-Sitzung, Ziel-Fenster oder Ziel-Bereich. Diese geben den Client, die Sitzung, das Fenster oder den Bereich an, auf den ein Befehl wirken soll.

Ziel-Client sollte der Name des Clients sein, typischerweise die pty(4)-Datei, mit der der Client verbunden ist, zum Beispiel entweder /dev/ttyp1 oder ttyp1 für den Client, der an /dev/ttyp1 angehängt ist. Wenn
kein Client angegeben ist, versucht tmux, den aktuell verwendeten Client herauszufinden; wenn dies fehlschlägt, wird ein Fehler gemeldet. Clients können mit dem Befehl list-clients aufgelistet werden.

Ziel-Sitzung wird wie folgt ausprobiert, in dieser Reihenfolge:

Eine Sitzungs-ID, die mit einem $ beginnt.

      Ein exakter Name einer Sitzung (wie durch den Befehl list-sessions aufgelistet).

      Der Anfang eines Sitzungsnamens, zum Beispiel würde „mysess“ eine Sitzung mit dem Namen
„mysession“ abgleichen.

Ein Glob(7)-Muster, das mit dem Sitzungsnamen abgeglichen wird.

Wenn der Sitzungsname mit einem „=” beginnt, wird nur eine exakte Übereinstimmung akzeptiert (so dass „=mysess“ nur genau „mysess“ abgleicht, nicht „mysession“).

Wenn eine einzelne Sitzung gefunden wird, wird diese als Zielsitzung verwendet; mehrere Übereinstimmungen führen zu einem Fehler. Wenn eine Sitzung weggelassen wird, wird die aktuelle Sitzung verwendet, falls verfügbar; wenn keine aktuelle Sitzung verfügbar ist, wird die zuletzt verwendete Sitzung ausgewählt.


target-window (oder src-window oder dst-window) gibt ein Fenster im Format session:window an.
session folgt den gleichen Regeln wie für target-session, und window wird in der folgenden Reihenfolge gesucht:

Ein spezielles Token, das unten aufgeführt ist.

Ein Fensterindex, zum Beispiel ‘mysession:1’ ist Fenster 1 in der Session ‘mysession’.

Eine Fenster-ID, wie z.B. @1.

    Ein exakter Fenstername, wie z.B. ‘mysession:mywindow’.

    Der Anfang eines Fensternamens, wie z.B. ‘mysession:mywin’.

    Als ein glob(7)-Muster, das auf den Fensternamen angewendet wird.

Wie bei Sessions bewirkt ein Präfix ‘=’ eine exakte Übereinstimmung. Ein leerer Fenstername gibt den nächsten nicht verwendeten Index an, falls zutreffend (zum Beispiel für die Befehle new-window und link-window), andernfalls wird das aktuelle Fenster in der Session ausgewählt.

Die folgenden speziellen Token stehen zur Verfügung, um bestimmte Fenster anzugeben. Jedes hat eine einzelne Kurzform.

Token              Bedeutung
{start}       ^    Das am niedrigsten nummerierte Fenster
{end}         $    Das am höchsten nummerierte Fenster
{last}        !    Das letzte (vorherige) Fenster
{next}        +    Das nächste Fenster in der Nummerierung
{previous}    -    Das vorherige Fenster in der Nummerierung

target-pane (oder src-pane oder dst-pane) kann eine Pane-ID sein oder hat ein ähnliches Format wie target-window,
aber mit der optionalen Ergänzung eines Punkts, gefolgt von einem Pane-Index oder einer Pane-ID, zum Beispiel:
‘mysession:mywindow.1’. Wenn der Pane-Index weggelassen wird, wird das aktuell aktive Pane in dem angegebenen
Fenster verwendet. Die folgenden speziellen Token stehen für den Pane-Index zur Verfügung:

Token                  Bedeutung
{last}            !    Das letzte (vorherige) aktive Pane
{next}            +    Das nächste Pane in der Nummerierung
{previous}        -    Das vorherige Pane in der Nummerierung
{top}                  Das obere Pane
{bottom}               Das untere Pane
{left}                 Das linke Pane
{right}                Das rechte Pane
{top-left}             Das obere linke Pane
{top-right}            Das obere rechte Pane
{bottom-left}          Das untere linke Pane
{bottom-right}         Das untere rechte Pane
{up-of}                Das Pane oberhalb des aktiven Panes
{down-of}              Das Pane unterhalb des aktiven Panes
{left-of}              Das Pane links vom aktiven Pane
{right-of}             Das Pane rechts vom aktiven Pane

Die Token ‘+’ und ‘-’ können von einem Offset gefolgt werden, zum Beispiel:

select-window -t:+2

Darüber hinaus kann target-session, target-window oder target-pane vollständig aus dem Token ‘{mouse}’ (Kurzform ‘=’) bestehen, um die Session, das Fenster oder das Pane anzugeben, in dem das letzte Mausereignis aufgetreten ist (siehe den Abschnitt „MOUSE SUPPORT“) oder ‘{marked}’ (Kurzform ‘~’), um das markierte Pane anzugeben (siehe den Befehl select-pane -m).

Sessions, Fenster und Panes werden jeweils mit einer eindeutigen ID nummeriert; die Session-IDs sind mit einem ‘$’ versehen, die Fenster mit einem ‘@’ und die Panes mit einem ‘%’. Diese sind eindeutig und bleiben während der gesamten Lebensdauer der Session, des Fensters oder des Panes im Tmux-Server unverändert. Die Pane-ID wird als Umgebungsvariable TMUX_PANE an den untergeordneten Prozess des Panes übergeben. IDs können mit den Formaten ‘session_id’, ‘window_id’ oder ‘pane_id’ angezeigt werden (siehe den Abschnitt „FORMATS“) und mit den Befehlen display-message, list-sessions, list-windows oder list-panes.


Die Argumente für Shell-Befehle sind sh(1)-Befehle. Dies kann ein einzelnes Argument sein, das an die Shell übergeben wird, zum Beispiel:

new-window 'vi ~/.tmux.conf'

führt aus:

/bin/sh -c 'vi ~/.tmux.conf'

Zusätzlich ermöglichen die Befehle new-window, new-session, split-window, respawn-window und respawn-pane, dass Shell-Befehle als mehrere Argumente angegeben und direkt ausgeführt werden (ohne 'sh -c'). Dies kann Probleme mit der Shell-Maskierung vermeiden. Zum Beispiel:

$ tmux new-window vi ~/.tmux.conf

führt vi(1) direkt aus, ohne die Shell aufzurufen.

Ein Befehl [Argument ...] bezieht sich auf einen tmux-Befehl, der entweder als separate Befehle und Argumente übergeben wird, zum Beispiel:

bind-key F1 set-option status off

Oder als einzelner String-Argument in .tmux.conf, zum Beispiel:

bind-key F1 { set-option status off }

Beispiele für tmux-Befehle sind:

refresh-client -t/dev/ttyp2

rename-session -tfirst newname

set-option -wt:0 monitor-activity on

new-window ; split-window -d

bind-key R source-file ~/.tmux.conf \; \
display-message "source-file done"

Oder von sh(1):

$ tmux kill-window -t :1

$ tmux new-window \; split-window -d

$ tmux new-session -d 'vi ~/.tmux.conf' \; split-window -d \; attach

CLIENTS UND SESSIONS

Der tmux-Server verwaltet Clients, Sessions, Windows und Panes. Clients werden an Sessions angehängt, um mit ihnen zu interagieren, entweder wenn sie mit dem Befehl new-session erstellt werden, oder später mit dem Befehl attach-session. Jede Session hat ein oder mehrere Windows, die mit ihr verknüpft sind. Windows können mit mehreren Sessions verknüpft sein und bestehen aus einem oder mehreren Panes, die jeweils ein Pseudo-Terminal enthalten. Die Befehle zum Erstellen, Verknüpfen und Ändern von Windows werden im Abschnitt "WINDOWS UND PANES" behandelt.

Die folgenden Befehle stehen zur Verfügung, um Clients und Sessions zu verwalten:

attach-session [-dErx] [-c working-directory] [-f flags] [-t target-session]
(Alias: attach)

Wenn dies außerhalb von tmux ausgeführt wird, wird eine Verbindung zur target-session im aktuellen Terminal hergestellt. target-session muss bereits existieren - um eine neue Session zu erstellen, siehe den Befehl new-session (mit -A, um zu erstellen oder anzuhängen). Wenn dies innerhalb von tmux verwendet wird, wird die aktuell angehängte Session auf target-session umgestellt. Wenn -d angegeben ist, werden alle anderen Clients, die an die Session angehängt sind, getrennt. Wenn -x angegeben wird, wird ein SIGHUP-Signal an den übergeordneten Prozess des Clients gesendet und der Client wird getrennt, was in der Regel dazu führt, dass er beendet wird. -f setzt eine kommagetrennte Liste von Client-Flags. Die Flags sind:


active-pane
der Client verfügt über eine unabhängige aktive Fläche

ignore-size
der Client beeinflusst nicht die Größe anderer Clients

no-detach-on-destroy
der Client wird nicht vom der Sitzung getrennt, an die er angehängt ist, wenn die Sitzung zerstört wird, solange noch andere Sitzungen vorhanden sind.

no-output
der Client empfängt keine Flächenausgabe im Steuermodus

pause-after=seconds
die Ausgabe wird angehalten, sobald die Fläche im Steuermodus um „seconds“ verzögert ist

read-only
der Client ist schreibgeschützt

wait-exit
im Steuermodus wird gewartet, bis eine leere Zeile eingegeben wurde, bevor der Vorgang beendet wird

Ein vorangestelltes „!“ schaltet ein Flag aus, falls der Client bereits angehängt ist. -r ist ein Alias für -f read-only, ignore-size. Wenn ein Client schreibgeschützt ist, haben nur Tasten, die an die Befehle „detach-client“ oder „switch-client“ gebunden sind, eine Wirkung. Ein Client mit dem Flag „active-pane“ ermöglicht es, die aktive Fläche unabhängig von der vom Fenster verwendeten aktiven Fläche zu wählen, die von Clients ohne dieses Flag verwendet wird. Dies betrifft nur die Cursorposition und die vom Client ausgegebenen Befehle; andere Funktionen wie Hooks und Stile verwenden weiterhin die aktive Fläche des Fensters.

Wenn kein Server gestartet wird, versucht „attach-session“, ihn zu starten; dies schlägt fehl, es sei denn, Sitzungen werden in der Konfigurationsdatei erstellt.

Die Ziel-Sitzungs-Regeln für „attach-session“ werden leicht angepasst: Wenn tmux die zuletzt verwendete Sitzung auswählen muss, wird die zuletzt verwendete, nicht angehängte Sitzung bevorzugt.

-c setzt das Arbeitsverzeichnis der Sitzung (für neue Fenster) auf „working-directory“.

Wenn -E verwendet wird, wird die Option „update-environment“ nicht angewendet.

detach-client [-aP] [-E shell-command] [-s target-session] [-t target-client]
(Alias: detach)

Trennt den aktuellen Client, falls er an eine Taste gebunden ist, den mit -t angegebenen Client oder alle derzeit an die durch -s angegebene Sitzung angehängten Clients. Die Option -a beendet alle Clients außer dem mit -t angegebenen. Wenn -P angegeben wird, wird das übergeordnete Verfahren des Clients mit SIGHUP beendet, was normalerweise dazu führt, dass es beendet wird. Mit -E wird ein Shell-Befehl ausgeführt, um den Client zu ersetzen.

has-session [-t target-session]
(Alias: has)

Gibt einen Fehler aus und beendet das Programm mit dem Wert 1, wenn die angegebene Sitzung nicht vorhanden ist. Wenn sie vorhanden ist, wird das Programm mit dem Wert 0 beendet.

kill-server

Beendet den tmux-Server und die Clients und zerstört alle Sitzungen.

kill-session [-aC] [-t target-session]

Zerstört die angegebene Sitzung, schließt alle damit verbundenen Fenster und keine anderen Sitzungen und trennt alle an sie angehängten Clients. Wenn -a angegeben wird, werden alle Sitzungen außer der angegebenen Sitzung beendet. Das Flag -C löscht alle Warnungen (Klingelton, Aktivität oder Stille) in allen mit der Sitzung verbundenen Fenstern.

list-clients [-F format] [-f filter] [-t target-session]
(Alias: lsc)

Listet alle an den Server angehängten Clients auf. -F gibt das Format jeder Zeile an und -f ein Filter. Es werden nur die Clients angezeigt, für die der Filter wahr ist. Siehe den Abschnitt „FORMATS“. Wenn „target-session“ angegeben wird, werden nur die Clients angezeigt, die mit dieser Sitzung verbunden sind.


list-commands [-F format] [command]
(alias: lscm)

Listet die Syntax eines Befehls oder – falls nicht angegeben – aller von tmux unterstützten Befehle auf.

list-sessions [-F format] [-f filter]
(alias: ls)

Listet alle vom Server verwalteten Sitzungen auf. -F gibt das Format jeder Zeile an und -f einen Filter. Es werden nur die Sitzungen angezeigt, für die der Filter wahr ist. Siehe den Abschnitt „FORMATS“.

lock-client [-t target-client]
(alias: lockc)

Sperrt den Ziel-Client, siehe den Befehl lock-server.

lock-session [-t target-session]
(alias: locks)

Sperrt alle an die Ziel-Sitzung angeschlossenen Clients.

new-session   [-AdDEPX]  [-c  start-directory]  [-e  environment]  [-f  flags]  [-F  format]  [-n
window-name] [-s session-name] [-t group-name]  [-x  width]  [-y  height]  [shell-command
[argument ...]]
(alias: new)

Erstellt eine neue Sitzung mit dem Namen session-name.

Die neue Sitzung wird standardmäßig an das aktuelle Terminal angehängt, es sei denn, -d ist angegeben. window-name und shell-command sind der Name bzw. der auszuführende Shell-Befehl im ersten Fenster. Mit -d stammt die anfängliche Größe aus der globalen Option default-size; -x und -y können verwendet werden, um eine andere Größe anzugeben. „-“ verwendet die Größe des aktuellen Clients, falls vorhanden. Wenn -x oder -y angegeben ist, wird die Option default-size für die Sitzung festgelegt. -f setzt eine durch Komma getrennte Liste von Client-Flags (siehe attach-session).

Wenn es von einem Terminal aus ausgeführt wird, werden alle speziellen Zeichen von termios(4) gespeichert und für neue Fenster in der neuen Sitzung verwendet.

Die Option -A bewirkt, dass new-session sich wie attach-session verhält, falls session-name bereits vorhanden ist; wenn -A angegeben ist, verhält sich -D wie -d für attach-session und -X verhält sich wie -x für attach-session.

Wenn -t angegeben ist, wird eine Sitzungsgruppe angegeben. Sitzungen in derselben Gruppe verwenden denselben Satz von Fenstern – neue Fenster werden mit allen Sitzungen in der Gruppe verknüpft, und alle geschlossenen Fenster werden aus allen Sitzungen entfernt. Das aktuelle und vorherige Fenster sowie alle Sitzungsoptionen bleiben unabhängig, und jede Sitzung in einer Gruppe kann beendet werden, ohne die anderen zu beeinträchtigen. Das Argument group-name kann sein:

der Name einer vorhandenen Gruppe, in diesem Fall wird die neue Sitzung dieser Gruppe hinzugefügt;

der Name einer vorhandenen Sitzung – die neue Sitzung wird derselben Gruppe wie diese Sitzung hinzugefügt, wobei bei Bedarf eine neue Gruppe erstellt wird;

der Name für eine neue Gruppe, die nur die neue Sitzung enthält.

-n und shell-command sind ungültig, wenn -t verwendet wird.

Die Option -P gibt Informationen über die neue Sitzung aus, nachdem diese erstellt wurde. Standardmäßig wird das Format „\#{session\_name}:“ verwendet, aber ein anderes Format kann mit -F angegeben werden.

Wenn -E verwendet wird, wird die Option update-environment nicht angewendet. -e hat die Form „VARIABLE=value“ und setzt eine Umgebungsvariable für die neu erstellte Sitzung; sie kann mehrmals angegeben werden.

refresh-client  [-cDLRSU]  [-A  pane:state]  [-B  name:what:format]  [-C  size]  [-f  flags]  [-l
[target-pane]] [-r pane:report] [-t target-client] [adjustment]
(alias: refresh)

Aktualisiert den aktuellen Client, wenn er an eine Taste gebunden ist, oder einen einzelnen Client, wenn dieser mit -t angegeben wird. Wenn -S angegeben ist, wird nur die Statusleiste des Clients aktualisiert.

Die Flags -U, -D, -L, -R und -c ermöglichen es, den sichtbaren Bereich eines Fensters, das größer als der Client ist, zu ändern. -U verschiebt den sichtbaren Bereich um die angegebene Anzahl von Zeilen nach oben, und -D nach unten. -L verschiebt ihn um die angegebene Anzahl von Spalten nach links, und -R nach rechts. -c setzt die automatische Cursorverfolgung wieder ein. Wenn keine Anpassung angegeben wird, wird der Wert 1 verwendet. Beachten Sie, dass die sichtbare Position eine Eigenschaft des Clients und nicht des Fensters ist. Das Ändern des aktuellen Fensters in der angehängten Sitzung setzt sie zurück.

-C legt die Breite und Höhe eines Client im Kontrollmodus oder eines Fensters für einen Client im Kontrollmodus fest. Die Größe muss entweder im Format „Breite x Höhe“ oder „Fenster-ID: Breite x Höhe“ angegeben werden, z. B. „80x24“ oder „@0:80x24“. -A ermöglicht es einem Client im Kontrollmodus, Aktionen in einem Bereich auszulösen. Das Argument ist eine Bereichs-ID (mit einem vorangestellten „%“), ein Doppelpunkt und dann einer der Werte „ein“, „aus“, „fortsetzen“ oder „pause“. Wenn „aus“ angegeben wird, sendet tmux keine Ausgabe vom Bereich an den Client, und wenn alle Clients die Ausgabe für den Bereich ausgeschaltet haben, wird tmux nicht mehr die Eingabe vom Bereich lesen. Wenn „fortsetzen“ angegeben wird, setzt tmux die Ausgabe an den Bereich fort, wenn sie manuell oder mit dem Flag „pause-after“ angehalten wurde. Wenn „pause“ angegeben wird, setzt tmux den Bereich auf Pause. -A kann mehrmals für verschiedene Bereiche angegeben werden.

-B legt ein Abonnement für ein Format für einen Client im Kontrollmodus fest. Das Argument wird durch Doppelpunkte in drei Teile geteilt: Name ist ein Name für das Abonnement, Was ist ein Typ des zu abonnierenden Elements und Format ist das Format. Nachdem ein Abonnement hinzugefügt wurde, werden Änderungen am Format mit der Benachrichtigung „%subscription-changed“ gemeldet, höchstens einmal pro Sekunde. Wenn nur der Name angegeben wird, wird das Abonnement entfernt. Was kann leer sein, um nur das Format für die angehängte Sitzung zu überprüfen, oder es kann einer der folgenden Werte sein: eine Bereichs-ID, z. B. „%0“; „%*“ für alle Bereiche in der angehängten Sitzung; eine Fenster-ID, z. B. „@0“; oder „@*“ für alle Fenster in der angehängten Sitzung.

-f legt eine durch Kommas getrennte Liste von Client-Flags fest, siehe attach-session. -r ermöglicht es einem Client im Kontrollmodus, Informationen über einen Bereich über einen Bericht (z. B. als Antwort auf OSC 10) bereitzustellen. Das Argument ist eine Bereichs-ID (mit einem vorangestellten „%“), ein Doppelpunkt und dann eine Bericht-Escape-Sequenz.

-l fordert die Zwischenablage vom Client mithilfe der Xterm(1)-Escape-Sequenz an. Wenn Zielbereich angegeben ist, wird die Zwischenablage (in kodierter Form) gesendet, andernfalls wird sie in einem neuen Zwischenspeicherpuffer gespeichert.

-L, -R, -U und -D verschieben den sichtbaren Bereich des Fensters nach links, rechts, oben oder unten um die angegebene Anpassung, wenn das Fenster größer als der Client ist. -c setzt die Position so zurück, dass sie dem Cursor folgt. Siehe die Option window-size.

rename-session [-t Ziel-Sitzung] Neuer-Name

(Alias: rename) Benennt die Sitzung in Neuer-Name um.

server-access [-adlrw] [Benutzer]

Ändert die Zugriffs- oder Schreibberechtigung für einen Benutzer. Der Benutzer, der den tmux-Server ausführt (dessen Besitzer), und der Root-Benutzer können nicht geändert werden und haben immer Zugriff.


^ a und -d werden verwendet, um einem bestimmten Benutzer Zugriff zu gewähren oder zu entziehen. Wenn der Benutzer bereits hinzugefügt wurde, bewirkt das Flag -d, dass seine Clients getrennt werden.

^ r und -w ändern die Berechtigungen für den Benutzer: -r macht ihre Clients schreibgeschützt und -w beschreibbar. -l listet die aktuellen Zugriffsberechtigungen auf.

Standardmäßig ist die Zugriffsliste leer und tmux erstellt Sockets mit Dateisystemberechtigungen, die den Zugriff durch andere Benutzer als den Besitzer (und Root) verhindern. Diese Berechtigungen müssen manuell geändert werden. Es ist äußerst wichtig, keinen Zugriff für nicht vertrauenswürdige Benutzer, selbst nicht im Nur-Lese-Modus, zu gewähren.

`show-messages [-JT] [-t target-client]`
`(Alias: showmsgs)`

Zeigt Servernachrichten oder -informationen an. Nachrichten werden gespeichert, bis zu der durch die Serveroption message-limit festgelegten Grenze. -J und -T zeigen Debugging-Informationen über Jobs und Terminals an.

`source-file [-Fnqv] [-t target-pane] path ...`
`(Alias: source)`

Führt Befehle aus einer oder mehreren durch path angegebenen Dateien aus (die Glob-Muster sein können). Wenn -F vorhanden ist, wird path als Format erweitert. Wenn -q angegeben wird, wird kein Fehler zurückgegeben, wenn path nicht vorhanden ist. Mit -n wird die Datei geparst, aber keine Befehle ausgeführt. -v zeigt die geparsten Befehle und Zeilennummern an, falls möglich.

`start-server`
`(Alias: start)`

Startet den tmux-Server, falls er noch nicht ausgeführt wird, ohne Sitzungen zu erstellen.

Beachten Sie, dass der tmux-Server standardmäßig beendet wird, wenn keine Sitzungen vorhanden sind. Dies ist nur dann nützlich, wenn eine Sitzung in ~/.tmux.conf erstellt wird, exit-empty deaktiviert ist oder ein anderer Befehl als Teil derselben Befehlssequenz ausgeführt wird. Zum Beispiel:

`$ tmux start \; show -g`

`suspend-client [-t target-client]`
`(Alias: suspendc)`

Suspendiert einen Client, indem SIGTSTP (tty stop) gesendet wird.

`switch-client [-ElnprZ] [-c target-client] [-t target-session] [-T key-table]`
`(Alias: switchc)`

Ändert die aktuelle Sitzung für den Client target-client in target-session. In einem speziellen Fall kann -t auf ein Fenster (ein Ziel, das : , . oder % enthält) verweisen, um Sitzung, Fenster und Bereich zu ändern. In diesem Fall behält -Z das gezoomte Fenster bei, wenn es zuvor gezoomt war. Wenn -l, -n oder -p verwendet wird, wird der Client zur letzten, nächsten oder vorherigen Sitzung verschoben.

Wenn -E verwendet wird, wird die Option update-environment nicht angewendet.

^ T setzt die Tastenbelegung des Clients; die nächste Eingabe vom Client wird anhand von key-table interpretiert. Dies kann verwendet werden, um mehrere Präfixe zu konfigurieren oder Befehle an eine Sequenz von Tasten zu binden. Zum Beispiel, um die Eingabe von abc den Befehl list-keys auszuführen:

`bind-key -Ttable2 c list-keys`
`bind-key -Ttable1 b switch-client -Ttable2`
`bind-key -Troot   a switch-client -Ttable1`

FENSTER UND BEREICHE

Jedes von tmux angezeigte Fenster kann in einen oder mehrere Bereiche aufgeteilt werden; jeder Bereich nimmt einen bestimmten Teil des Displays ein und ist ein separates Terminal. Ein Fenster kann mit dem Befehl split-window in Bereiche aufgeteilt werden. Fenster können horizontal (mit dem Flag -h) oder vertikal aufgeteilt werden. Bereiche können mit dem Befehl resize-pane (standardmäßig an C-Up, C-Down, C-Left und C-Right gebunden) in der Größe geändert, der aktuelle Bereich mit dem Befehl select-pane geändert und die Befehle rotate-window und swap-pane können verwendet werden, um Bereiche auszutauschen, ohne ihre Position zu ändern. Bereiche sind nummeriert, beginnend mit Null, in der Reihenfolge, in der sie erstellt wurden.


Standardmäßig ermöglicht eine tmux-Pane den direkten Zugriff auf das darin enthaltene Terminal. Eine Pane kann auch in einen von mehreren Modi versetzt werden:

  • Kopiermodus, der das Kopieren eines Abschnitts eines Fensters oder seines Verlaufs in einen Zwischenspeicher zum späteren Einfügen in ein anderes Fenster ermöglicht. Dieser Modus wird mit dem Befehl copy-mode aufgerufen, der standardmäßig an [ gebunden ist. Kopierter Text kann mit dem Befehl paste-buffer eingefügt werden, der standardmäßig an ] gebunden ist.

  • Anzeigemodus, der dem Kopiermodus ähnelt, aber aufgerufen wird, wenn ein Befehl, der eine Ausgabe erzeugt, z. B. list-keys, aus einer Tastenkombination ausgeführt wird.

  • Auswahlsmodus, der die Auswahl eines Elements aus einer Liste ermöglicht. Dies kann ein Client, eine Sitzung oder ein Fenster oder eine Pane oder ein Puffer sein. Dieser Modus wird mit den Befehlen choose-buffer, ^ hoose-client und choose-tree aufgerufen.

Im Kopiermodus wird in der oberen rechten Ecke der Pane ein Indikator mit der aktuellen Position und der Anzahl der Zeilen im Verlauf angezeigt.

Befehle werden mit dem Flag -X an den Befehl send-keys an den Kopiermodus gesendet. Wenn eine Taste gedrückt wird, verwendet der Kopiermodus automatisch eine von zwei Tastenzuordnungen, je nach der Option mode-keys: ^ opy-mode für Emacs oder copy-mode-vi für Vi. Tastenzuordnungen können mit dem Befehl list-keys angezeigt werden.

Die folgenden Befehle werden im Kopiermodus unterstützt:

`append-selection`

Fügt die Auswahl an den obersten Zwischenspeicher an.

`append-selection-and-cancel` (Vi: `A`)

Fügt die Auswahl an den obersten Zwischenspeicher an und verlässt den Kopiermodus.

`back-to-indentation` (Vi: `^`) (Emacs: `M-m`)

Bewegt den Cursor zurück zum Einzug.

`begin-selection` (Vi: `Leertaste`) (Emacs: `C-Leertaste`)

Beginnt die Auswahl.

`bottom-line` (Vi: `L`)

Bewegt sich zur untersten Zeile.

`cancel` (Vi: `q`) (Emacs: `Escape`)

Verlässt den Kopiermodus.

`clear-selection` (Vi: `Escape`) (Emacs: `C-g`)

Löscht die aktuelle Auswahl.

`copy-end-of-line` [-CP] [Präfix]

Kopiert vom Cursor aus bis zum Ende der Zeile. prefix wird verwendet, um den neuen Zwischenspeicher zu benennen.

`copy-end-of-line-and-cancel` [-CP] [Präfix]

Kopiert vom Cursor aus und verlässt den Kopiermodus.

`copy-pipe-end-of-line` [-CP] [Befehl] [Präfix]

Kopiert vom Cursor aus bis zum Ende der Zeile und leitet den Text an den Befehl weiter. ^ refix wird verwendet, um den neuen Zwischenspeicher zu benennen.

`copy-pipe-end-of-line-and-cancel` [-CP] [Befehl] [Präfix]

Wie copy-pipe-end-of-line, verlässt aber auch den Kopiermodus.

`copy-line` [-CP] [Präfix]

Kopiert die gesamte Zeile.


    copy-line-and-cancel [-CP] [Präfix]

Kopiert die gesamte Zeile und beendet den Kopiermodus.

    copy-pipe-line [-CP] [Befehl] [Präfix]

Kopiert die gesamte Zeile und leitet den Text an den Befehl weiter. Das Präfix wird verwendet, um den neuen Zwischenspeicher zu benennen.

    copy-pipe-line-and-cancel [-CP] [Befehl] [Präfix]

Wie copy-pipe-line, beendet aber auch den Kopiermodus.

    copy-pipe [-CP] [Befehl] [Präfix]

Kopiert die Auswahl, löscht sie und leitet ihren Inhalt an den Befehl weiter. Das Präfix wird verwendet, um den neuen Zwischenspeicher zu benennen.

    copy-pipe-no-clear [-CP] [Befehl] [Präfix]

Wie copy-pipe, löscht aber die Auswahl nicht.

    copy-pipe-and-cancel [-CP] [Befehl] [Präfix]

Wie copy-pipe, beendet aber auch den Kopiermodus.

    copy-selection [-CP] [Präfix]

Kopiert die aktuelle Auswahl.

    copy-selection-no-clear [-CP] [Präfix]

Wie copy-selection, löscht aber die Auswahl nicht.

    copy-selection-and-cancel [-CP] [Präfix] (vi: Enter) (emacs: M-w)

Kopiert die aktuelle Auswahl und beendet den Kopiermodus.

    cursor-down (vi: j) (emacs: Pfeil nach unten)

Bewegt den Cursor nach unten.

    cursor-down-and-cancel

Wie cursor-down, beendet aber auch den Kopiermodus, wenn das untere Ende erreicht wird.

    cursor-left (vi: h) (emacs: Pfeil nach links)

Bewegt den Cursor nach links.

    cursor-right (vi: l) (emacs: Pfeil nach rechts)

Bewegt den Cursor nach rechts.

    cursor-up (vi: k) (emacs: Pfeil nach oben)

Bewegt den Cursor nach oben.

    cursor-centre-vertical (emacs: Strg+l)

Bewegt den Cursor in die vertikale Mitte des Fensters.

    cursor-centre-horizontal (emacs: Alt+l)

Bewegt den Cursor in die horizontale Mitte des Fensters.

    end-of-line (vi: $) (emacs: Strg+e)

Bewegt den Cursor an das Ende der Zeile.

    goto-line Zeile (vi: :) (emacs: g)

Bewegt den Cursor zu einer bestimmten Zeile.

    halfpage-down (vi: Strg+d) (emacs: Alt+Pfeil nach unten)

Bildschirm um eine halbe Seite nach unten blättern.

    halfpage-down-and-cancel

Wie halfpage-down, beendet aber auch den Kopiermodus, wenn das untere Ende erreicht wird.

    halfpage-up (vi: Strg+u) (emacs: Alt+Pfeil nach oben)

Bildschirm um eine halbe Seite nach oben blättern.

    history-bottom (vi: G) (emacs: Alt+->)

Zum Ende des Verlaufs scrollen.

    history-top (vi: g) (emacs: Alt+<-)

Zum Anfang des Verlaufs scrollen.

    jump-again (vi: ;) (emacs: ;)

Letzten Sprung wiederholen.

    jump-backward to (vi: F) (emacs: F)

Springt rückwärts zu dem angegebenen Text.

    jump-forward to (vi: f) (emacs: f)

Springt vorwärts zu dem angegebenen Text.

    jump-reverse (vi: ,) (emacs: ,)

Wiederholt den letzten Sprung in umgekehrter Richtung (vorwärts wird rückwärts und umgekehrt).

    jump-to-backward to (vi: T)

Springt rückwärts, aber um ein Zeichen weniger, wobei der Cursor auf das Zeichen nach dem Ziel gesetzt wird.

    jump-to-forward to (vi: t)

Springt vorwärts, aber um ein Zeichen weniger, wobei der Cursor auf das Zeichen vor dem Ziel gesetzt wird.

    jump-to-mark (vi: Alt+x) (emacs: Alt+x)

Springt zum letzten Mark.

    middle-line (vi: M) (emacs: Alt+r)

Bewegt sich zur mittleren Zeile.

    next-matching-bracket (vi: %) (emacs: Alt+Strg+f)

Bewegt sich zur nächsten passenden Klammer.

    next-paragraph (vi: }) (emacs: Alt+})

Bewegt sich zum nächsten Absatz.

    next-prompt [-o]

Zum nächsten Prompt bewegen.

    next-word (vi: w)

Zum nächsten Wort bewegen.

    next-word-end (vi: e) (emacs: Alt+Pfeil nach rechts)

Zum Ende des nächsten Wortes bewegen.


    next-space (vi: W)

Wie next-word, aber verwende nur ein einzelnes Leerzeichen als Worttrenner.

    next-space-end (vi: E)

Wie next-word-end, aber verwende nur ein einzelnes Leerzeichen als Worttrenner.

    other-end (vi: o)

Wechselt, an welchem Ende der Auswahl sich der Cursor befindet.

    page-down (vi: C-f) (emacs: PageDown)

Eine Seite nach unten scrollen.

    page-down-and-cancel

Wie page-down, aber verlässt auch den Kopier-Modus, wenn das Ende erreicht wird.

    page-up (vi: C-b) (emacs: PageUp)

Eine Seite nach oben scrollen.

    pipe [command]

Den ausgewählten Text an das angegebene Programm weiterleiten und die Auswahl löschen.

    pipe-no-clear [command]

Wie pipe, aber die Auswahl nicht löschen.

    pipe-and-cancel [command] [prefix]

Wie pipe, aber verlässt auch den Kopier-Modus.

    previous-matching-bracket (emacs: M-C-b)

Zum vorherigen passenden Klammerzeichen bewegen.

    previous-paragraph (vi: {) (emacs: M-{)

Zum vorherigen Absatz bewegen.

    previous-prompt [-o]

Zum vorherigen Prompt bewegen.

    previous-word (vi: b) (emacs: M-b)

Zum vorherigen Wort bewegen.

    previous-space (vi: B)

Wie previous-word, aber verwende nur ein einzelnes Leerzeichen als Worttrenner.

    rectangle-on

Den Rechteck-Auswahlmodus aktivieren.

    rectangle-off

Den Rechteck-Auswahlmodus deaktivieren.

    rectangle-toggle (vi: v) (emacs: R)

Den Rechteck-Auswahlmodus umschalten.

    refresh-from-pane (vi: r) (emacs: r)

Den Inhalt des Fensters aktualisieren.

    scroll-bottom

Nach unten scrollen, bis sich die aktuelle Zeile am unteren Rand befindet, wobei der Cursor auf dieser Zeile bleibt.

    scroll-down (vi: C-e) (emacs: C-Down)

Nach unten scrollen.

    scroll-down-and-cancel

Wie scroll-down, aber verlässt auch den Kopier-Modus, wenn der Cursor den unteren Rand erreicht.

    scroll-middle (vi: z)

So scrollen, dass die aktuelle Zeile zur mittleren Zeile wird, wobei der Cursor auf dieser Zeile bleibt.

    scroll-top

Nach oben scrollen, bis sich die aktuelle Zeile am oberen Rand befindet, wobei der Cursor auf dieser Zeile bleibt.

    scroll-up (vi: C-y) (emacs: C-Up)

Nach oben scrollen.

    search-again (vi: n) (emacs: n)

Die letzte Suche wiederholen.

    search-backward text (vi: ?)

Rückwärts nach dem angegebenen Text suchen.

    search-backward-incremental text (emacs: C-r)

Inkrementell rückwärts nach dem angegebenen Text suchen. Es wird erwartet, dass dies mit dem -i-Flag des command-prompt-Befehls verwendet wird.

    search-backward-text text

Rückwärts nach dem angegebenen Klartext suchen.

    search-forward text (vi: /)

Vorwärts nach dem angegebenen Text suchen.

    search-forward-incremental text (emacs: C-s)

Inkrementell vorwärts nach dem angegebenen Text suchen. Es wird erwartet, dass dies mit dem -i-Flag des command-prompt-Befehls verwendet wird.

    search-forward-text text

Vorwärts nach dem angegebenen Klartext suchen.

    search-reverse (vi: N) (emacs: N)

Die letzte Suche in umgekehrter Richtung wiederholen (Vorwärts wird zu Rückwärts und umgekehrt).

    select-line (vi: V)

Die aktuelle Zeile auswählen.

    select-word

Das aktuelle Wort auswählen.

    selection-mode [char | word | line]

Den Auswahlmodus ändern.

    set-mark (vi: X) (emacs: X)

Die aktuelle Zeile markieren.

    start-of-line (vi: 0) (emacs: C-a)

Den Cursor an den Anfang der Zeile bewegen.

    stop-selection

Die Auswahl beenden, ohne die aktuelle Auswahl zu löschen.


toggle-position (vi: P) (emacs: P)

Schaltet die Sichtbarkeit des Positionsindikators in der oberen rechten Ecke ein und aus.

top-line (vi: H) (emacs: M-R)

Bewegt zum Anfang der Zeile.

Die Suchbefehle gibt es in verschiedenen Varianten: ‘search-forward’ und ‘search-backward’ suchen nach einem regulären Ausdruck; die Varianten ‘-text’ suchen nach einer einfachen Textzeichenkette anstelle eines regulären Ausdrucks; ‘-incremental’ führt eine inkrementelle Suche durch und wird in Verbindung mit dem Flag -i für den Befehl in der Kommandozeile verwendet. ‘search-again’ wiederholt die letzte Suche, und ‘search-reverse’ macht dasselbe, kehrt aber die Richtung um (Vorwärts wird zu Rückwärts und umgekehrt).

Die Standard-Tastenkombinationen für die inkrementelle Suche, ‘C-r’ und ‘C-s’, sind so konzipiert, dass sie emacs(1) emulieren. Beim ersten Drücken erlauben sie die Eingabe eines neuen Suchbegriffs; wenn sie mit einem leeren Suchbegriff gedrückt werden, wird der zuvor verwendete Suchbegriff wiederholt.

Die Befehle ‘next-prompt’ und ‘previous-prompt’ bewegen sich zwischen Shell-Eingabeaufforderungen, erfordern jedoch, dass die Shell eine Escape-Sequenz (\033]133;A\033\) ausgibt, um tmux mitzuteilen, wo sich die Eingabeaufforderungen befinden; wenn die Shell dies nicht tut, werden diese Befehle nichts bewirken. Das Flag -o springt zum Anfang der Befehlsausgabe anstelle der Shell-Eingabeaufforderung. Das Auffinden des Anfangs der Befehlsausgabe erfordert, dass die Shell eine Escape-Sequenz (\033]133;C\033\) ausgibt, um tmux mitzuteilen, wo die Ausgabe beginnt. Wenn die Shell diese Escape-Sequenzen nicht sendet, bewirken diese Befehle nichts.

Kopierbefehle können ein optionales Präfixargument für den Puffer verwenden, das zur Generierung des Puffernamens verwendet wird (standardmäßig ist dies ‘buffer’, sodass Puffer als ‘buffer0’, ‘buffer1’ usw. benannt werden). Pipe-Befehle verwenden ein Befehlsargument, das der Befehl ist, an den der ausgewählte Text weitergeleitet wird. Die Varianten ‘copy-pipe’ kopieren den ausgewählten Text ebenfalls. Die Varianten mit dem Flag ‘-and-cancel’ einiger Befehle verlassen den Kopier-Modus, nachdem sie abgeschlossen sind (für Kopierbefehle) oder wenn der Cursor das Ende erreicht (für Bildlaufbefehle). Die Varianten mit dem Flag ‘-no-clear’ löschen die Auswahl nicht. Alle Kopierbefehle können die Flags -C und -P verwenden. Das Flag -C verhindert das Setzen der Terminal-Zwischenablage beim Kopieren, während das Flag -P verhindert, dass ein Paste-Puffer mit dem Text hinzugefügt wird.

Die nächsten und vorherigen Wort-Tasten überspringen Leerzeichen und behandeln aufeinanderfolgende Zeichenketten entweder von Worttrennzeichen oder anderen Buchstaben als Wörter. Worttrennzeichen können mit der Sitzungsoption word-separators angepasst werden. "Nächstes Wort" bewegt sich zum Anfang des nächsten Wortes, "nächstes Wortende" zum Ende des nächsten Wortes und "vorheriges Wort" zum Anfang des vorherigen Wortes. Die drei nächsten und vorherigen Leerzeichen-Tasten funktionieren ähnlich, verwenden aber ein einzelnes Leerzeichen als Worttrennzeichen. Wenn word-separators auf eine leere Zeichenkette gesetzt wird, sind "nächstes/vorheriges Wort" und "nächstes/vorheriges Leerzeichen" gleichwertig.

Die Sprungbefehle ermöglichen eine schnelle Bewegung innerhalb einer Zeile. Beispielsweise bewegt die Eingabe von ‘f’, gefolgt von ‘/’, den Cursor zum nächsten ‘/’-Zeichen in der aktuellen Zeile. Ein ‘;’ springt dann zum nächsten Vorkommnis.


In der Kopier-Modus können Befehle optional mit einer Wiederholungsanzahl versehen werden. Bei vi-Tastenkombinationen wird ein Präfix mit den Zifferntasten eingegeben; bei Emacs beginnt ein Präfix mit der Alt-Taste (Meta) und einer Zahl.

Die Synopsis für den Kopier-Modus-Befehl lautet:

copy-mode [-deHMqSu] [-s src-pane] [-t target-pane]

Kopier-Modus aktivieren.

-u aktiviert den Kopier-Modus und scrollt eine Seite nach oben, -d scrollt eine Seite nach unten. -H blendet den Positionsindikator in der oberen rechten Ecke aus. -q bricht den Kopier-Modus und alle anderen Modi ab.

-M beginnt eine Mausbewegung (gilt nur, wenn sie an eine Maustaste gebunden ist, siehe „MAUSUNTERSTÜTZUNG“).
-S scrollt, wenn es an eine Mausbewegung gebunden ist; zum Beispiel ist copy-mode -Se standardmäßig an MouseDrag1ScrollbarSlider gebunden.

-s kopiert von src-pane anstatt von target-pane.

-e gibt an, dass das Scrollen zum unteren Ende der Historie (bis zum sichtbaren Bildschirm) den Kopier-Modus beenden soll. Während sich das System im Kopier-Modus befindet, führt das Drücken einer anderen Taste als der zum Scrollen verwendeten dazu, dass dieses Verhalten deaktiviert wird. Dies soll schnelles Scrollen durch die Historie eines Fensters ermöglichen, zum Beispiel mit:

bind PageUp copy-mode -eu
bind PageDown copy-mode -ed

Eine Reihe vordefinierter Anordnungen von Fenstern sind verfügbar; diese werden als Layouts bezeichnet. Diese können mit dem Befehl select-layout ausgewählt oder mit next-layout durchgeschaltet werden (standardmäßig an ‘Space’ gebunden); sobald ein Layout ausgewählt ist, können die Fenster darin wie gewohnt verschoben und in der Größe geändert werden.

Die folgenden Layouts werden unterstützt:

even-horizontal

Die Fenster werden gleichmäßig von links nach rechts über das Fenster verteilt.

even-vertical

Die Fenster werden gleichmäßig von oben nach unten verteilt.

main-horizontal

Ein großes (Haupt-)Fenster wird oben im Fenster angezeigt, und die restlichen Fenster werden im verbleibenden Raum unten verteilt. Verwenden Sie die Fensteroption main-pane-height, um die Höhe des oberen Fensters anzugeben.

main-horizontal-mirrored

Das Gleiche wie main-horizontal, aber gespiegelt, so dass sich das Hauptfenster unten im Fenster befindet.

main-vertical

Ein großes (Haupt-)Fenster wird auf der linken Seite des Fensters angezeigt, und die restlichen Fenster werden im verbleibenden Raum auf der rechten Seite verteilt. Verwenden Sie die Fensteroption main-pane-width, um die Breite des linken Fensters anzugeben.

main-vertical-mirrored

Das Gleiche wie main-vertical, aber gespiegelt, so dass sich das Hauptfenster auf der rechten Seite des Fensters befindet.

tiled Die Fenster werden so gleichmäßig wie möglich über das Fenster in Reihen und Spalten verteilt.

Zusätzlich kann select-layout verwendet werden, um ein zuvor verwendetes Layout anzuwenden - der Befehl list-windows zeigt das Layout jedes Fensters in einem Format an, das für die Verwendung mit select-layout geeignet ist. Zum Beispiel:

$ tmux list-windows
0 ksh [159x48]
layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0}
$ tmux select-layout 'bb62,159x48,0,0{79x48,0,0,79x48,80,0}'

tmux passt die Größe des Layouts automatisch an die aktuelle Fenstergröße an. Beachten Sie, dass ein Layout nicht auf ein Fenster mit mehr Fenstern angewendet werden kann, als im ursprünglichen Layout definiert sind.

Befehle im Zusammenhang mit Fenstern und Bereichen sind wie folgt:

break-pane [-abdP] [-F format] [-n window-name] [-s src-pane] [-t dst-window]
(Alias: breakp)

Trennt den Bereich src-pane von seinem enthaltenden Fenster, um ihn zum einzigen Bereich im Fenster dst-window zu machen. Mit -a oder -b wird das Fenster an die nächste Indexposition nach bzw. vor (vorhandene Fenster werden bei Bedarf verschoben). Wenn -d angegeben ist, wird das neue Fenster nicht zum aktuellen Fenster. Die Option -P gibt Informationen über das neue Fenster aus, nachdem es erstellt wurde. Standardmäßig wird das Format \#{session\_name}:\#{window\_index}.\#{pane\_index} verwendet, aber ein anderes Format kann mit -F angegeben werden.

capture-pane [-aepPqCJMN] [-b buffer-name] [-E end-line] [-S start-line] [-t target-pane]
(Alias: capturep)

Erfasst den Inhalt eines Bereichs. Wenn -p angegeben ist, wird die Ausgabe an stdout gesendet, andernfalls in den Puffer, der mit -b angegeben wurde, oder in einen neuen Puffer, wenn dieser nicht angegeben wurde. Wenn -a angegeben ist, wird der alternativer Bildschirm verwendet und der Verlauf ist nicht zugänglich. Wenn kein alternativer Bildschirm vorhanden ist, wird ein Fehler zurückgegeben, es sei denn, -q wird angegeben. Ebenso wird mit -M der Bildschirm für den Modus verwendet, wenn sich der Bereich in einem Modus befindet. Wenn -e angegeben ist, enthält die Ausgabe Escape-Sequenzen für Text- und Hintergrundattribute. -C wandelt auch nicht druckbare Zeichen in oktale \xxx-Sequenzen um. -T ignoriert nachfolgende Positionen, die kein Zeichen enthalten. -N behält nachfolgende Leerzeichen am Ende jeder Zeile bei, und -J behält nachfolgende Leerzeichen bei und verbindet alle umbrochenen Zeilen; -J impliziert -T. -P erfasst nur alle Ausgaben, die ein Bereich empfangen hat, die den Anfang einer noch unvollständigen Escape-Sequenz darstellen.

^ S und -E geben die Start- und Endzeilennummern an, wobei 0 die erste Zeile des sichtbaren Bereichs ist und negative Zahlen Zeilen im Verlauf sind. '-' für -S ist der Beginn des Verlaufs und für -E das Ende des sichtbaren Bereichs. Standardmäßig wird nur der sichtbare Inhalt des Bereichs erfasst.

choose-client [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]

Setzt einen Bereich in den Client-Modus, sodass ein Client aus einer Liste interaktiv ausgewählt werden kann. Jeder Client wird in einer eigenen Zeile angezeigt. Ein Tastenkürzel wird links in eckigen Klammern angezeigt, um eine sofortige Auswahl zu ermöglichen, oder die Liste kann mithilfe der untenstehenden Tasten durchsucht und ein Element ausgewählt oder anderweitig bearbeitet werden. -Z zoomt den Bereich. -y deaktiviert alle Bestätigungsaufforderungen. Die folgenden Tasten können im Client-Modus verwendet werden:

Taste Funktion
Enter Wählt den ausgewählten Client aus
Hoch Wählt den vorherigen Client aus
Runter Wählt den nächsten Client aus
C-s Sucht nach dem Namen
n Wiederholt die letzte Suche vorwärts
N Wiederholt die letzte Suche rückwärts
t Schaltet den Tag-Status des Clients um
T Hebt die Markierung aller Clients auf
C-t Markiert alle Clients
d Trennt den ausgewählten Client
D Trennt die markierten Clients
x Trennt den ausgewählten Client und sendet ein HUP-Signal
X Trennt die markierten Clients und sendet ein HUP-Signal
z Setzt den ausgewählten Client in den Ruhezustand
Z Setzt die markierten Clients in den Ruhezustand
f Gibt ein Format zum Filtern von Elementen ein
O Ändert das Sortierfeld
r Kehrt die Sortierreihenfolge um
v Schaltet die Vorschau ein/aus
q Beendet den Modus

Nachdem ein Client ausgewählt wurde, wird „%%“ durch den Namen des Clients in der Vorlage ersetzt, und das Ergebnis wird als Befehl ausgeführt. Wenn keine Vorlage angegeben wird, wird „detach-client -t '%%'“ verwendet.

-O gibt das anfängliche Sortierfeld an: eines von „name“, „size“, „creation“ (Zeit) oder „activity“ (Zeit). -r kehrt die Sortierreihenfolge um. -f gibt einen anfänglichen Filter an: der Filter ist ein Format - wenn er zu Null ausgewertet wird, wird das Element in der Liste nicht angezeigt, andernfalls wird es angezeigt. Wenn ein Filter zu einer leeren Liste führen würde, wird er ignoriert. -F gibt das Format für jedes Element in der Liste und -K ein Format für jede Tastenkombination an; beide werden einmal für jede Zeile ausgewertet. -N startet ohne die Vorschau oder, wenn es zweimal angegeben wird, mit der größeren Vorschau. Dieser Befehl funktioniert nur, wenn mindestens ein Client angehängt ist.

choose-tree [-GNrswyZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]

Setzt ein Fenster in den Baummodus, in dem eine Sitzung, ein Fenster oder ein Bereich interaktiv aus einem Baum ausgewählt werden kann. Jede Sitzung, jedes Fenster oder jeder Bereich wird in einer eigenen Zeile angezeigt. Eine Tastenkombination wird links in Klammern angezeigt, die eine sofortige Auswahl ermöglicht, oder der Baum kann navigiert und ein Element ausgewählt oder anderweitig mit den folgenden Tasten manipuliert werden. -s startet mit eingeschlagenen Sitzungen und -w mit eingeschlagenen Fenstern. -Z zoomt den Bereich. -y deaktiviert alle Bestätigungsaufforderungen. Die folgenden Tasten können im Baummodus verwendet werden:

Key    Funktion
Enter  Wählt das ausgewählte Element aus
Up     Wählt das vorherige Element aus
Down   Wählt das nächste Element aus
S-Up   Vertauscht das aktuelle Fenster mit dem vorherigen
S-Down Vertauscht das aktuelle Fenster mit dem nächsten
+      Erweitert das ausgewählte Element
-      Klappt das ausgewählte Element zusammen
M-+    Erweitert alle Elemente
M--    Klappt alle Elemente zusammen
x      Beendet das ausgewählte Element
X      Beendet die markierten Elemente
<      Scrollt die Liste der Vorschauen nach links
>      Scrollt die Liste der Vorschauen nach rechts
C-s    Sucht nach dem Namen
m      Setzt den markierten Bereich
M      Löscht den markierten Bereich
n      Wiederholt die letzte Suche vorwärts
N      Wiederholt die letzte Suche rückwärts
t      Schaltet um, ob ein Element markiert ist
T      Markiert keine Elemente
C-t    Markiert alle Elemente
:      Führt einen Befehl für jedes markierte Element aus
f      Gibt ein Format zum Filtern von Elementen ein
H      Springt zum Startbereich
O      Ändert das Sortierfeld
r      Kehrt die Sortierreihenfolge um
v      Schaltet die Vorschau um
q      Beendet den Modus

Nachdem eine Sitzung, ein Fenster oder ein Bereich ausgewählt wurde, wird die erste Instanz von „%%“ und alle Instanzen von „%1“ durch das Ziel in der Vorlage ersetzt, und das Ergebnis wird als Befehl ausgeführt. Wenn keine Vorlage angegeben wird, wird „switch-client -t '%%'“ verwendet.

-O gibt das anfängliche Sortierfeld an: eines von „index“, „name“ oder „time“ (Aktivität). -r kehrt die Sortierreihenfolge um. -f gibt einen anfänglichen Filter an: der Filter ist ein Format - wenn er zu Null ausgewertet wird, wird das Element nicht angezeigt, andernfalls wird es angezeigt. Wenn ein Filter zu einer leeren Liste führen würde, wird er ignoriert. -F gibt das Format für jedes Element im Baum und -K ein Format für jede Tastenkombination an; beide werden einmal für jede Zeile ausgewertet. -N startet ohne die Vorschau oder, wenn es zweimal angegeben wird, mit der größeren Vorschau. -G schließt alle Sitzungen in allen Sitzungsgruppen in den Baum ein, anstatt nur die erste. Dieser Befehl funktioniert nur, wenn mindestens ein Client angehängt ist.

customize-mode [-NZ] [-F format] [-f filter] [-t target-pane] [template]

Versetzt eine Pane in den Anpassungsmodus, in dem Optionen und Tastenkombinationen in einer Liste durchsucht und geändert werden können. Die Optionswerte in der Liste werden für die aktive Pane im aktuellen Fenster angezeigt. -Z zoomt die Pane. Die folgenden Tasten können im Anpassungsmodus verwendet werden:

Taste    Funktion
Enter    Pane-, Fenster-, Sitzungs- oder globale Option setzen
Hoch     Vorheriges Element auswählen
Runter   Nächstes Element auswählen
+      Ausgewähltes Element erweitern
-      Ausgewähltes Element reduzieren
M-+    Alle Elemente erweitern
M--    Alle Elemente reduzieren
s      Optionswert oder Tasteneigenschaft setzen
S      Globale Option setzen
w      Fensteroption setzen, wenn die Option für eine Pane und ein Fenster gilt
d      Eine Option oder Taste auf den Standardwert zurücksetzen
D      Getaggte Optionen und getaggte Tasten auf den Standardwert zurücksetzen
u      Eine Option aufheben (auf den Standardwert setzen, wenn global) oder eine Taste deaktivieren
U      Getaggte Optionen aufheben und getaggte Tasten deaktivieren
C-s    Nach Name suchen
n      Letzte Suche vorwärts wiederholen
N      Letzte Suche rückwärts wiederholen
t      Ein- oder Ausblenden, ob ein Element getaggt ist
T      Keine Elemente taggen
C-t    Alle Elemente taggen
f      Ein Format zum Filtern von Elementen eingeben
v      Optioninformationen ein- oder ausblenden
q      Modus verlassen

-f gibt einen anfänglichen Filter an: der Filter ist ein Format – wenn er zu Null ausgewertet wird, wird das Element in der Liste nicht angezeigt, andernfalls wird es angezeigt. Wenn ein Filter zu einer leeren Liste führen würde, wird er ignoriert. -F gibt das Format für jedes Element im Baum an. -N startet ohne die Optionsinformationen. Dieser Befehl funktioniert nur, wenn mindestens ein Client verbunden ist.

display-panes [-bN] [-d dauer] [-t Ziel-Client] [template]
(Alias: displayp)

Zeigt einen sichtbaren Indikator für jede Pane an, die vom Ziel-Client angezeigt wird. Siehe die Sitzungsoptionen display-panes-colour und display-panes-active-colour. Der Indikator wird geschlossen, wenn eine Taste gedrückt wird (es sei denn, -N ist angegeben) oder die angegebene Zeit in Millisekunden verstrichen ist. Wenn -d nicht angegeben ist, wird display-panes-time verwendet. Eine Dauer von Null bedeutet, dass der Indikator angezeigt wird, bis eine Taste gedrückt wird. Während der Indikator auf dem Bildschirm angezeigt wird, kann eine Pane mit den Tasten „0“ bis „9“ ausgewählt werden, was dazu führt, dass das template als Befehl ausgeführt wird, wobei „%%“ durch die Pane-ID ersetzt wird. Das Standard-Template ist „select-pane -t '%%'“. Mit -b werden andere Befehle nicht blockiert, bis der Indikator geschlossen wird.

find-window [-iCNrTZ] [-t Ziel-Pane] Suchmuster
(Alias: findw)

Durchsucht Fenster nach einem Glob(7)-Muster oder, mit -r, einem regulären Ausdruck Suchmuster in Fensternamen, Titeln und sichtbarem Inhalt (aber nicht in der Historie). Die Flags steuern das Verhalten der Suche: -C sucht nur im sichtbaren Fensterinhalt, -N sucht nur im Fensternamen und -T sucht nur im Fenstertitel. -i macht die Suche unabhängig von Groß- und Kleinschreibung. Standardmäßig ist -CNT. -Z zoomt die Pane.


Dieser Befehl funktioniert nur, wenn mindestens ein Client verbunden ist.

join-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: joinp)

Ähnlich wie split-window, aber anstatt dst-pane aufzuteilen und ein neues Fenster zu erstellen, wird es aufgeteilt und src-pane in den resultierenden Bereich verschoben. Dies kann verwendet werden, um break-pane rückgängig zu machen. Die Option -b bewirkt, dass src-pane links von oder oberhalb von dst-pane angeordnet wird.

Wenn -s weggelassen wird und ein markiertes Fenster vorhanden ist (siehe select-pane -m), wird das markierte Fenster anstelle des aktuellen Fensters verwendet.

kill-pane [-a] [-t target-pane]
(alias: killp)

Zerstört das angegebene Fenster. Wenn keine Fenster mehr im enthaltenden Fenster vorhanden sind, wird auch dieses zerstört. Die Option -a löscht alle Fenster außer dem mit -t angegebenen.

kill-window [-a] [-t target-window]
(alias: killw)

Löscht das aktuelle Fenster oder das bei target-window angegebene Fenster und entfernt es aus allen Sitzungen, mit denen es verbunden ist. Die Option -a löscht alle Fenster außer dem mit -t angegebenen.

last-pane [-deZ] [-t target-window]
(alias: lastp)

Wählt das letzte (vorher ausgewählte) Fenster aus. -Z behält den Zoom-Zustand des Fensters bei, wenn es zuvor gezoomt war. -e aktiviert oder -d deaktiviert die Eingabe in das Fenster.

last-window [-t target-session]
(alias: last)

Wählt das letzte (vorher ausgewählte) Fenster aus. Wenn keine target-session angegeben ist, wird das letzte Fenster der aktuellen Sitzung ausgewählt.

link-window [-abdk] [-s src-window] [-t dst-window]
(alias: linkw)

Verbindet das Fenster bei src-window mit dem angegebenen dst-window. Wenn dst-window angegeben ist und ein solches Fenster nicht existiert, wird src-window dort verbunden. Mit -a oder -b wird das Fenster an die nächste Position nach oder vor dst-window verschoben (vorhandene Fenster werden bei Bedarf verschoben). Wenn -k angegeben ist und dst-window existiert, wird es gelöscht, andernfalls wird eine Fehlermeldung ausgegeben. Wenn -d angegeben ist, wird das neu verbundene Fenster nicht ausgewählt.

list-panes [-as] [-F format] [-f filter] [-t target]
(alias: lsp)

Wenn -a angegeben ist, wird target ignoriert und alle Fenster auf dem Server aufgelistet. Wenn -s angegeben ist, ist target eine Sitzung (oder die aktuelle Sitzung). Wenn weder -a noch -s angegeben sind, ist target ein Fenster (oder das aktuelle Fenster). -F gibt das Format für jede Zeile an und -f ein Filter. Es werden nur Fenster angezeigt, für die der Filter zutrifft. Siehe den Abschnitt „FORMATS“.

list-windows [-a] [-F format] [-f filter] [-t target-session]
(alias: lsw)

Wenn -a angegeben ist, werden alle Fenster auf dem Server aufgelistet. Andernfalls werden Fenster in der aktuellen Sitzung oder in target-session aufgelistet. -F gibt das Format für jede Zeile an und -f ein Filter. Es werden nur Fenster angezeigt, für die der Filter zutrifft. Siehe den Abschnitt „FORMATS“.

move-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: movep)

Funktioniert wie join-pane.


move-window [-abrdk] [-s src-window] [-t dst-window]
(Alias: movew)

Dies ist ähnlich wie link-window, außer dass das Fenster in src-window in dst-window verschoben wird. Mit -r werden alle Fenster in der Sitzung in sequenzieller Reihenfolge neu nummeriert, wobei die Option base-index berücksichtigt wird.

new-window [-abdkPS] [-c start-directory] [-e environment] [-F format] [-n window-name] [-t
target-window] [shell-command [argument ...]]
(Alias: neww)

Ein neues Fenster erstellen. Mit -a oder -b wird das neue Fenster nach oder vor dem angegebenen target-window eingefügt, wobei die Fenster bei Bedarf nach oben verschoben werden; andernfalls ist target-window der Speicherort des neuen Fensters.

Wenn -d angegeben wird, macht die Sitzung das neue Fenster nicht zum aktuellen Fenster.
target-window repräsentiert das zu erstellende Fenster; wenn das Ziel bereits vorhanden ist, wird ein Fehler angezeigt,
es sei denn, die -k-Flagge wird verwendet, in diesem Fall wird es zerstört. Wenn -S angegeben wird und
ein Fenster mit dem Namen window-name bereits vorhanden ist, wird es ausgewählt (es sei denn, -d wird ebenfalls angegeben,
in diesem Fall geschieht nichts).

shell-command ist der auszuführende Befehl. Wenn shell-command nicht angegeben ist, wird der Wert der
Option default-command verwendet. -c gibt das Arbeitsverzeichnis an, in dem das neue Fenster erstellt wird.

Wenn der Shell-Befehl abgeschlossen ist, wird das Fenster geschlossen. Siehe die Option remain-on-exit, um dieses Verhalten zu ändern.

-e hat die Form „VARIABLE=value“ und setzt eine Umgebungsvariable für das neu erstellte
Fenster; sie kann mehrmals angegeben werden.

Die TERM-Umgebungsvariable muss für alle Programme, die innerhalb von tmux ausgeführt werden, auf „screen“ oder „tmux“ gesetzt werden. Neue Fenster erhalten automatisch „TERM=screen“ in ihrer Umgebung hinzugefügt, aber es muss darauf geachtet werden, dass dies nicht in Shell-Startdateien oder mit der Option -e zurückgesetzt wird.

Die Option -P gibt Informationen über das neue Fenster aus, nachdem es erstellt wurde. Standardmäßig verwendet sie das Format „#{session_name}:#{window_index}“, es kann jedoch ein anderes Format mit -F angegeben werden.

next-layout [-t target-window]
(Alias: nextl)

Ein Fenster zum nächsten Layout verschieben und die Bereiche neu anordnen, um sie anzupassen.

next-window [-a] [-t target-session]
(Alias: next)

Zum nächsten Fenster in der Sitzung wechseln. Wenn -a verwendet wird, zum nächsten Fenster mit einer Benachrichtigung wechseln.

pipe-pane [-IOo] [-t target-pane] [shell-command]
(Alias: pipep)

Die Ausgabe, die von dem Programm in target-pane gesendet wird, an einen Shell-Befehl oder umgekehrt weiterleiten. Ein Bereich kann jeweils nur mit einem Befehl verbunden sein; alle vorhandenen Pipes werden geschlossen, bevor shell-command ausgeführt wird. Die Shell-Befehlszeichenfolge kann die speziellen Zeichenfolgen enthalten, die von der Option status-left unterstützt werden. Wenn kein Shell-Befehl angegeben wird, wird die aktuelle Pipe (falls vorhanden) geschlossen.

-I und -O geben an, welche der Shell-Befehlsausgabestreams mit dem Bereich verbunden sind:
mit -I wird stdout verbunden (so dass alles, was shell-command ausgibt, in den Bereich geschrieben wird,
als ob es getippt würde); mit -O wird stdin verbunden (so dass jede Ausgabe im Bereich an
shell-command weitergeleitet wird). Beide können zusammen verwendet werden, und wenn keine von beiden angegeben ist, wird -O verwendet.

Die Option -o öffnet nur dann eine neue Pipe, wenn noch keine vorherige Pipe vorhanden ist, wodurch eine Pipe mit einer einzelnen Taste ein- und ausgeschaltet werden kann, zum Beispiel:

bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'

previous-layout [-t target-window]
(Alias: prevl)

Wechseln Sie zum vorherigen Layout in der Sitzung.

previous-window [-a] [-t target-session]
(Alias: prev)

Wechseln Sie zum vorherigen Fenster in der Sitzung. Mit -a wird zum vorherigen Fenster mit einer Benachrichtigung gewechselt.

rename-window [-t target-window] new-name
(Alias: renamew)

Benennen Sie das aktuelle Fenster oder das Fenster bei target-window um, falls angegeben, in new-name.

resize-pane [-DLMRTUZ] [-t target-pane] [-x width] [-y height] [adjustment]
(Alias: resizep)

Ändern Sie die Größe eines Fensters, nach oben, unten, links oder rechts um den Wert adjustment mit -U, -D, -L oder -R, oder auf eine absolute Größe mit -x oder -y. Die Anpassung wird in Zeilen oder Spalten angegeben (der Standard ist 1; -x und -y können als Anzahl von Zeilen oder Spalten oder gefolgt von „%“ für einen Prozentsatz der Fenstergröße angegeben werden (z. B. „-x 10%“). Mit -Z wird das aktive Fenster zwischen dem vergrößerten (belegt das gesamte Fenster) und dem nicht vergrößerten (seine normale Position im Layout) Zustand umgeschaltet.

-M aktiviert die Größenänderung mit der Maus (gilt nur, wenn sie an eine Maus-Tastenkombination gebunden ist, siehe „MAUS-UNTERSTÜTZUNG“).

-T schneidet alle Zeilen unter der aktuellen Cursorposition ab und verschiebt Zeilen aus dem Verlauf, um sie zu ersetzen.

resize-window [-aADLRU] [-t target-window] [-x width] [-y height] [adjustment]
(Alias: resizew)

Ändern Sie die Größe eines Fensters, nach oben, unten, links oder rechts um den Wert adjustment mit -U, -D, -L oder -R, oder auf eine absolute Größe mit -x oder -y. Die Anpassung wird in Zeilen oder Zellen angegeben (der Standard ist 1. -A setzt die Größe der größten Sitzung, die das Fenster enthält; -a die Größe der kleinsten. Dieser Befehl setzt automatisch window-size auf „manuell“ in den Fenstereinstellungen.

respawn-pane [-k] [-c start-directory] [-e environment] [-t target-pane] [shell-command [argument ...]]
(Alias: respawnp)

Reaktivieren Sie ein Fenster, in dem der Befehl beendet wurde (siehe die Option remain-on-exit für das Fenster). Wenn kein shell-command angegeben wird, wird der Befehl ausgeführt, der verwendet wurde, als das Fenster erstellt oder zuletzt neu gestartet wurde. Das Fenster muss bereits inaktiv sein, es sei denn, -k ist angegeben, in diesem Fall wird ein vorhandener Befehl beendet. -c gibt ein neues Arbeitsverzeichnis für das Fenster an. Die Option -e hat die gleiche Bedeutung wie für den Befehl new-window.

respawn-window [-k] [-c start-directory] [-e environment] [-t target-window] [shell-command [argument ...]]
(Alias: respawnw)

Reaktivieren Sie ein Fenster, in dem der Befehl beendet wurde (siehe die Option remain-on-exit für das Fenster). Wenn kein shell-command angegeben wird, wird der Befehl ausgeführt, der verwendet wurde, als das Fenster erstellt oder zuletzt neu gestartet wurde. Das Fenster muss bereits inaktiv sein, es sei denn, -k ist angegeben, in diesem Fall wird ein vorhandener Befehl beendet. -c gibt ein neues Arbeitsverzeichnis für das Fenster an. Die Option -e hat die gleiche Bedeutung wie für den Befehl new-window.


rotate-window [-DUZ] [-t Ziel-Fenster]
(Alias: rotatew)

Dreht die Positionen der Bereiche innerhalb eines Fensters, entweder nach oben (numerisch niedriger) mit -U oder nach unten (numerisch höher). -Z behält den Zoom-Status des Fensters bei, falls es zuvor gezoomt war.

select-layout [-Enop] [-t Ziel-Bereich] [Layout-Name]
(Alias: selectl)

Wählt ein bestimmtes Layout für ein Fenster aus. Wenn kein Layout-Name angegeben wird, wird das zuletzt verwendete voreingestellte Layout (falls vorhanden) erneut angewendet. -n und -p sind äquivalent zu den Befehlen next-layout und previous-layout. -o wendet das zuletzt angewendete Layout an, falls möglich (macht die letzte Layoutänderung rückgängig). -E verteilt den aktuellen Bereich und alle angrenzenden Bereiche gleichmäßig.

select-pane [-DdeLlMmRUZ] [-T Titel] [-t Ziel-Bereich]
(Alias: selectp)

Macht den Bereich Ziel-Bereich zum aktiven Bereich in seinem Fenster. Wenn eine der Optionen -D, -L, -R oder -U verwendet wird, wird der Bereich unterhalb, links, rechts oder oberhalb des Zielbereichs verwendet. -Z behält den Zoom-Status des Fensters bei, falls es zuvor gezoomt war. -l ist das gleiche wie die Verwendung des Befehls last-pane. -e aktiviert oder -d deaktiviert die Eingabe für den Bereich. -T setzt den Titel des Bereichs.

-m und -M werden verwendet, um einen markierten Bereich festzulegen und zu löschen. Es gibt jeweils nur einen markierten Bereich, wobei das Festlegen eines neuen markierten Bereichs den vorherigen löscht. Der markierte Bereich ist das Standardziel für -s zum Verbinden von Bereichen, Verschieben von Bereichen, Vertauschen von Bereichen und Vertauschen von Fenstern.

select-window [-lnpT] [-t Ziel-Fenster]
(Alias: selectw)

Wählt das Fenster mit Ziel-Fenster aus. -l, -n und -p sind äquivalent zu den Befehlen last-window, next-window und previous-window. Wenn -T angegeben ist und das ausgewählte Fenster bereits das aktuelle Fenster ist, verhält sich der Befehl wie last-window.

split-window [-bdfhIvPZ] [-c Startverzeichnis] [-e Umgebung] [-F Format] [-l Größe] [-t Ziel-Bereich] [Shell-Befehl [Argument ...]]
(Alias: splitw)

Erstellt einen neuen Bereich durch Aufteilen des Ziel-Bereichs: -h führt eine horizontale Aufteilung durch und -v eine vertikale Aufteilung; wenn keiner von beiden angegeben ist, wird -v angenommen. Die Option -l gibt die Größe des neuen Bereichs in Zeilen (für vertikale Aufteilung) oder in Spalten (für horizontale Aufteilung) an; die Größe kann durch „%“ ergänzt werden, um einen Prozentsatz des verfügbaren Platzes anzugeben. Die Option -b bewirkt, dass der neue Bereich links von oder oberhalb des Ziel-Bereichs erstellt wird. Die Option -f erstellt einen neuen Bereich, der die volle Fensterhöhe (mit -h) oder die volle Fensterbreite (mit -v) einnimmt, anstatt den aktiven Bereich aufzuteilen. -Z zoomt, wenn das Fenster nicht gezoomt ist, oder behält den Zoom-Status bei, wenn es bereits gezoomt ist.

Ein leerer Shell-Befehl („“) erstellt einen Bereich, in dem kein Befehl ausgeführt wird. Ausgaben können mit dem Befehl display-message an einen solchen Bereich gesendet werden. Die Option -I (wenn kein Shell-Befehl angegeben oder leer ist) erstellt einen leeren Bereich und leitet alle Ausgaben von stdin an diesen weiter. Zum Beispiel:

$ make 2>&1|tmux splitw -dI &

Alle anderen Optionen haben die gleiche Bedeutung wie für den Befehl new-window.


swap-pane [-dDUZ] [-s src-pane] [-t dst-pane]
(alias: swapp)

Vertauschen Sie zwei Bereiche. Wenn -U verwendet wird und keine Quellbereich mit -s angegeben ist, wird der Zielbereich mit dem vorherigen Bereich (numerisch) vertauscht; -D vertauscht mit dem nächsten Bereich (numerisch). -d weist tmux an, den aktiven Bereich nicht zu ändern, und -Z behält den Zoomstatus bei, wenn das Fenster zuvor gezoomt war.

Wenn -s weggelassen wird und ein markierter Bereich vorhanden ist (siehe select-pane -m), wird der markierte Bereich anstelle des aktuellen Bereichs verwendet.

swap-window [-d] [-s src-window] [-t dst-window]
(alias: swapw)

Dies ist ähnlich wie link-window, außer dass die Quell- und Ziel-Fenster vertauscht werden. Es ist ein Fehler, wenn kein Fenster unter src-window vorhanden ist. Wenn -d angegeben wird, wird das neue Fenster nicht zum aktuellen Fenster.

Wenn -s weggelassen wird und ein markierter Bereich vorhanden ist (siehe select-pane -m), wird das Fenster, das den markierten Bereich enthält, anstelle des aktuellen Fensters verwendet.

unlink-window [-k] [-t target-window]
(alias: unlinkw)

Trennen Sie target-window. Es sei denn, -k wird angegeben, kann ein Fenster nur dann getrennt werden, wenn es mit mehreren Sitzungen verbunden ist. Fenster dürfen nicht mit keiner Sitzung verbunden sein; wenn -k angegeben wird und das Fenster nur mit einer Sitzung verbunden ist, wird es getrennt und zerstört.

TASTENBELEGUNGEN

tmux ermöglicht es, einer Vielzahl von Tasten, mit oder ohne Präfix-Taste, einen Befehl zuzuweisen. Bei der Angabe von Tasten stellen die meisten sich selbst dar (z. B. „A“ bis „Z“). Strg-Tasten können mit „C-“ oder „^“ präfixiert werden, Umschalt-Tasten mit „S-“ und Alt (Meta) mit „M-“. Zusätzlich werden die folgenden speziellen Tastennamen akzeptiert: Hoch, Runter, Links, Rechts, BSpace, BTab, DC (Löschen), Ende, Eingabe, Esc, F1 bis F12, Anfang, IC (Einfügen), NPage/PageDown/PgDn, PPage/PageUp/PgUp, Leertaste und Tab. Beachten Sie, dass zum Binden der Tasten „“ oder „'“ Anführungszeichen erforderlich sind, z. B.:

bind-key '"' split-window
bind-key "'" new-window

Einem Befehl, der an die Taste „Any“ gebunden ist, wird für alle Tasten ausgeführt, für die keine spezifischere Bindung vorhanden ist.

Die folgenden Befehle beziehen sich auf Tastenbelegungen:

bind-key [-nr] [-N note] [-T key-table] key [command [argument ...]]
(alias: bind)

Binden Sie die Taste key an den Befehl command. Tasten werden in einer Tastentabelle gebunden. Standardmäßig (ohne -T) wird die Taste in der Präfix-Tastentabelle gebunden. Diese Tabelle wird für Tasten verwendet, die nach dem Drücken der Präfix-Taste gedrückt werden (z. B. ist standardmäßig „c“ in der Präfix-Tabelle an new-window gebunden, so dass „C-b c“ ein neues Fenster erstellt). Die Root-Tabelle wird für Tasten verwendet, die ohne die Präfix-Taste gedrückt werden: Wenn „c“ in der Root-Tabelle (nicht empfohlen) an new-window gebunden wird, erstellt ein einfaches „c“ ein neues Fenster. -n ist ein Alias für -T root. Tasten können auch in benutzerdefinierten Tastentabellen gebunden werden, und der Befehl switch-client -T kann verwendet werden, um von einer Tastenbelegung aus dorthin zu wechseln. Die Option -r gibt an, dass diese Taste wiederholt werden kann, siehe die Optionen initial-repeat-time und repeat-time. -N fügt der Taste eine Notiz hinzu (die mit list-keys -N angezeigt wird), die durch Übergabe einer leeren Zeichenfolge gelöscht werden kann. Die Flags -r und -N können ohne Befehl verwendet werden, um eine vorhandene Belegung zu ändern.


Um die Standardbelegungen und möglichen Befehle anzuzeigen, verwenden Sie den Befehl list-keys.

list-keys [-1aN] [-P Präfix-Zeichenkette] [-T Schlüssel-Tabelle] [Schlüssel]
(Alias: lsk)

Listet Schlüsselbelegungen auf. Es gibt zwei Formen: Die Standardform listet Schlüssel als bind-key-Befehle auf; -N listet nur Schlüssel mit angehängten Notizen auf und zeigt für jeden Schlüssel nur den Schlüssel und die Notiz an.

In der Standardform werden standardmäßig alle Schlüssel-Tabellen aufgelistet. -T listet nur Schlüssel in key-table auf.

In der Form mit -N werden standardmäßig nur Schlüssel in den Root- und Präfix-Schlüssel-Tabellen aufgelistet; -T listet ebenfalls nur Schlüssel in key-table auf. -P gibt ein Präfix an, das vor jedem Schlüssel ausgegeben wird, und -1 listet nur den ersten übereinstimmenden Schlüssel auf. -a listet den Befehl für Schlüssel auf, die keine Notiz haben, anstatt sie zu überspringen.

send-keys [-FHKlMRX] [-c Ziel-Client] [-N Wiederholungsanzahl] [-t Ziel-Bereich] [Schlüssel ...]
(Alias: send)

Sendet einen Schlüssel oder mehrere Schlüssel an ein Fenster oder einen Client. Jedes Argument key ist der Name des Schlüssels (z. B. C-a oder NPage), der gesendet werden soll; wenn die Zeichenkette nicht als Schlüssel erkannt wird, wird sie als eine Reihe von Zeichen gesendet. Wenn -K angegeben ist, werden Schlüssel an target-client gesendet, sodass sie in der Schlüssel-Tabelle des Clients nachgeschlagen werden, anstatt an target-pane. Alle Argumente werden sequenziell von zuerst bis zuletzt gesendet. Wenn keine Schlüssel angegeben sind und der Befehl an einen Schlüssel gebunden ist, wird dieser Schlüssel verwendet.

Die Option `-l` deaktiviert die Schlüsselnamen-Suche und verarbeitet die Schlüssel als literale UTF-8-Zeichen.
Die Option `-H` erwartet, dass jeder Schlüssel eine hexadezimale Zahl für ein ASCII-Zeichen ist.
Die Option `-R` setzt den Terminalzustand zurück.

`-M` übergibt ein Mausereignis (nur gültig, wenn es an eine Maus-Schlüsselbelegung gebunden ist, siehe „Mausunterstützung“).

`-X` wird verwendet, um einen Befehl in den Kopiermodus zu senden - siehe den Abschnitt „FENSTER UND BEREICHE“. `-N` gibt eine Wiederholungsanzahl an, und `-F` erweitert Formate in Argumenten, falls erforderlich.

send-prefix [-2] [-t Ziel-Bereich]

Sendet den Präfix-Schlüssel oder mit -2 den sekundären Präfix-Schlüssel an ein Fenster, als ob er gedrückt würde.

unbind-key [-anq] [-T Schlüssel-Tabelle] Schlüssel
(Alias: unbind)

Hebt die an key gebundene Befehl auf. -n und -T sind die gleichen wie bei bind-key. Wenn -a vorhanden ist, werden alle Schlüsselbelegungen entfernt. Die Option -q verhindert, dass Fehler zurückgegeben werden.

OPTIONEN

Das Aussehen und Verhalten von tmux kann geändert werden, indem die Werte verschiedener Optionen geändert werden. Jede Option gehört zu einem oder mehreren Gültigkeitsbereichen (Server, Sitzung, Fenster und Bereich) und hat einen Typ (Zeichenkette, Zahl, Schlüssel, Farbe, Flag, Auswahl oder Befehl). Werte von Flag-Typ-Optionen können 1, on, yes, 0, off oder no sein; für mögliche Auswahlwerte siehe die jeweilige Option; für Schlüsseloptionen siehe den Abschnitt „SCHLÜSSELBELEGUNGEN“ und für Farboptionen den Abschnitt „STILE“.

Der tmux-Server verfügt über eine Reihe globaler Serveroptionen, die für kein bestimmtes Fenster oder keine bestimmte Sitzung oder keinen bestimmten Bereich gelten. Diese werden mit dem Befehl set-option -s geändert oder mit dem Befehl show-options -s angezeigt.


Zusätzlich kann jede einzelne Sitzung einen Satz von Sitzungsoptionen haben, und es gibt einen separaten Satz von globalen Sitzungsoptionen. Sitzungen, die eine bestimmte Option nicht konfiguriert haben, übernehmen den Wert aus den globalen Sitzungsoptionen. Sitzungsoptionen werden mit dem Befehl set-option festgelegt oder aufgehoben und können mit dem Befehl show-options aufgelistet werden. Die verfügbaren Server- und Sitzungsoptionen sind unter dem Befehl set-option aufgeführt.

Ebenso ist jedem Fenster ein Satz von Fenstereinstellungen und jedem Bereich ein Satz von Bereichseinstellungen zugeordnet. Bereichseinstellungen erben von Fenstereinstellungen. Dies bedeutet, dass jede Bereichseinstellung als Fenstereinstellung festgelegt werden kann, um die Option auf alle Bereiche in dem Fenster anzuwenden, ohne dass die Option festgelegt ist. Zum Beispiel:

set -w window-style bg=red
set -pt:.0 window-style bg=blue

Es gibt auch einen Satz globaler Fenstereinstellungen, von denen alle nicht festgelegten Fenster- oder Bereichseinstellungen übernommen werden. Fenster- und Bereichseinstellungen werden mit den Befehlen set-option -w und -p geändert und mit show-option -w und -p angezeigt.

tmux unterstützt auch Benutzereinstellungen, die mit einem @ präfixiert sind. Benutzereinstellungen können jeden Namen haben, solange sie mit @ beginnen, und auf eine beliebige Zeichenkette gesetzt werden. Zum Beispiel:

$ tmux set -wq @foo "abc123"
$ tmux show -wv @foo
abc123

Optionen werden mit diesen Befehlen verwaltet:

set-option [-aFgopqsuUw] [-t target-pane] option [value]
(Alias: set)

Legt eine Bereichsoption mit -p, eine Fenstereinstellung mit -w, eine Serveroption mit -s oder andernfalls eine Sitzungsoption fest. Wenn die Option keine Benutzereinstellung ist, sind -w oder -s möglicherweise nicht erforderlich – tmux leitet den Gültigkeitsbereich aus dem Optionsnamen ab und geht davon aus, dass es sich um eine Bereichsoption handelt. Wenn -g angegeben wird, wird die globale Sitzungs- oder Fenstereinstellung festgelegt.

-F erweitert Formatvorlagen im Optionswert. Mit der Option `-u` wird eine Option aufgehoben, sodass eine Sitzung die Option aus den globalen Optionen übernimmt (oder mit `-g` eine globale Option auf den Standardwert zurücksetzt). `-U` hebt eine Option auf (wie `-u`), aber wenn die Option eine Bereichsoption ist, hebt es auch die Option für alle Bereiche im Fenster auf. `value` hängt von der Option und ihrem Typ ab und kann für Flag- und Auswahloptionen weggelassen werden, um ihren Wert umzuschalten (Auswahloptionen wechseln zwischen den ersten beiden Optionen).

Die Option -o verhindert das Festlegen einer Option, die bereits festgelegt ist, und die Option -q unterdrückt Fehler bezüglich unbekannter oder mehrdeutiger Optionen.

Mit -a wird, falls die Option eine Zeichenkette oder einen Stil erwartet, der Wert an die vorhandene Einstellung angehängt. Zum Beispiel:

set -g status-left "foo"
set -ag status-left "bar"

Dies führt zu „foobar“. Und:

set -g status-style "bg=red"
set -ag status-style "fg=blue"

Dies führt zu einem roten Hintergrund und einem blauen Vordergrund. Ohne -a wäre das Ergebnis ein Standardhintergrund und ein blauer Vordergrund.

show-options [-AgHpqsvw] [-t target-pane] [option]
(Alias: show)

Zeigt die Bereichsoptionen (oder eine einzelne Option, falls option angegeben ist) mit -p, die Fenstereinstellungen mit -w, die Serveroptionen mit -s oder andernfalls die Sitzungsoptionen an. Wenn die Option keine Benutzereinstellung ist, sind -w oder -s möglicherweise nicht erforderlich – tmux leitet den Gültigkeitsbereich aus dem Optionsnamen ab und geht davon aus, dass es sich um eine Bereichsoption handelt. Globale Sitzungs- oder Fenstereinstellungen werden angezeigt, wenn -g verwendet wird. -v zeigt nur den Optionswert, nicht den Namen. Wenn -q gesetzt ist, wird kein Fehler zurückgegeben, wenn die Option nicht festgelegt ist. -H schließt Hooks ein (standardmäßig ausgelassen). -A schließt Optionen ein, die von einem übergeordneten Satz von Optionen übernommen wurden; solche Optionen sind mit einem Sternchen gekennzeichnet.


Die verfügbaren Serveroptionen sind:

backspace-key
Die Taste, die tmux für die Rückstelltaste sendet.

buffer-limit number
Die Anzahl der Puffer festlegen; wenn neue Puffer oben in den Stapel hinzugefügt werden, werden alte Puffer unten entfernt, um diese maximale Länge beizubehalten.

command-alias[] name=value
Dies ist ein Array mit benutzerdefinierten Aliasen für Befehle. Wenn ein unbekannter Befehl mit `name` übereinstimmt, wird er durch `value` ersetzt. Zum Beispiel:

set -s command-alias[100] zoom='resize-pane -Z'

Die Verwendung von:

zoom -t:.1

entspricht:

resize-pane -Z -t:.1

Beachten Sie, dass Aliasse erweitert werden, wenn ein Befehl geparst wird, und nicht, wenn er ausgeführt wird, sodass das Binden eines Alias mit `bind-key` die erweiterte Form bindet.

codepoint-widths[] string
Eine Array-Option, mit der die Breite von Unicode-Codepunkten überschrieben werden kann. Beachten Sie, dass die neue Breite für alle Clients gilt. Jeder Eintrag hat das Format `codepoint=width`, wobei `codepoint` entweder ein UTF-8-Zeichen oder ein Bezeichner der Form `U+number` sein kann, wobei `number` eine hexadezimale Zahl ist.

copy-command shell-command
Der Befehl, der an die Pipe übergeben werden soll, wenn der Befehl `copy-pipe` im Kopiermodus ohne Argumente verwendet wird.

default-client-command command
Der Standardbefehl, der ausgeführt werden soll, wenn tmux ohne Befehl aufgerufen wird. Der Standardwert ist `new-session`.

default-terminal terminal
Das Standardterminal für neue Fenster, die in dieser Sitzung erstellt werden – der Standardwert der Umgebungsvariablen `TERM`. Damit tmux korrekt funktioniert, muss dies auf `screen`, `tmux` oder ein Derivat davon gesetzt werden.

escape-time time
Die Zeit in Millisekunden, die tmux nach der Eingabe eines Escape-Zeichens wartet, um festzustellen, ob es Teil einer Funktion oder einer Meta-Tastenfolge ist.

editor shell-command
Der Befehl, der verwendet wird, wenn tmux einen Editor ausführt.

exit-empty [on | off]
Wenn dies aktiviert ist (Standard), wird der Server beendet, wenn keine aktiven Sitzungen vorhanden sind.

exit-unattached [on | off]
Wenn dies aktiviert ist, wird der Server beendet, wenn keine Clients verbunden sind.

extended-keys [on | off | always]
Steuert, wie modifizierte Tasten (Tasten, die zusammen mit Strg, Meta oder Umschalt gedrückt werden) gemeldet werden. Dies entspricht der xterm(1)-Ressource `modifyOtherKeys`.

Wenn auf `on` gesetzt, kann das Programm im Fenster einen von zwei Modi anfordern: Modus 1 ändert die Sequenz nur für Tasten, die keine vorhandene bekannte Darstellung haben; oder Modus 2 ändert die Sequenz für alle Tasten. Wenn auf `always` gesetzt, können die Modi 1 und 2 immer noch von Anwendungen angefordert werden, aber Modus 1 wird erzwungen, anstatt des Standardmodus. Wenn auf `off` gesetzt, ist diese Funktion deaktiviert und es werden nur Standardtasten gemeldet.

tmux fordert immer selbst erweiterte Tasten an, wenn das Terminal diese unterstützt. Siehe auch
das Feature `extkeys` für die Option `terminal-features`, die Option `extended-keys-format` und
die Variable `pane_key_mode`.

extended-keys-format [csi-u | xterm]
Wählt eines der beiden möglichen Formate zur Übermittlung modifizierter Tasten an Anwendungen aus.
Dies entspricht der Ressource `formatOtherKeys` von `xterm(1)`. Zum Beispiel wird `C-S-a`
als `^[[27;6;65~` ausgegeben, wenn es auf `xterm` gesetzt ist, und als `^[[65;6u`, wenn es auf `csi-u` gesetzt ist.

focus-events [on | off]
Wenn aktiviert, werden Fokusereignisse vom Terminal angefordert, falls unterstützt, und an Anwendungen weitergeleitet, die in tmux ausgeführt werden. Angehängte Clients sollten nach dem Ändern dieser Option ab- und wieder angehängt werden.

history-file path
Wenn nicht leer, eine Datei, in die tmux beim Beenden die Befehlshistorie schreibt und beim Start daraus liest.

input-buffer-size bytes
Maximale Anzahl von Bytes, die zum Lesen von Escape- und Steuerungsequenzen zulässig sind. Sobald diese erreicht ist, wird die Sequenz verworfen.

message-limit number
Legen Sie die Anzahl der Fehler- oder Informationsmeldungen fest, die für jeden Client im Nachrichtenprotokoll gespeichert werden sollen.

prompt-history-limit number
Legen Sie die Anzahl der Verlaufselemente fest, die für jeden Typ von Befehlsaufforderung in der Verlaufdatei gespeichert werden sollen.

set-clipboard [on | external | off]
Versuchen Sie, den Inhalt der Terminal-Zwischenablage mithilfe der Escape-Sequenz von `xterm(1)` festzulegen, wenn ein Eintrag `Ms` in der Beschreibung von `terminfo(5)` vorhanden ist (siehe den Abschnitt „TERMINFO-ERWEITERUNGEN“).

Wenn auf `on` gesetzt, akzeptiert tmux sowohl die Escape-Sequenz zum Erstellen eines Puffers als auch den Versuch, die Terminal-Zwischenablage festzulegen. Wenn auf `external` gesetzt, versucht tmux, die Terminal-Zwischenablage festzulegen, ignoriert aber Versuche von Anwendungen, tmux-Puffer festzulegen. Wenn auf `off` gesetzt, akzeptiert oder versucht tmux weder, die Escape-Sequenz der Zwischenablage zu akzeptieren, noch die Zwischenablage festzulegen.

Beachten Sie, dass dieses Feature in `xterm(1)` aktiviert werden muss, indem Sie die Ressource festlegen:

disallowedWindowOps: 20,21,SetXprop

Oder indem Sie diese Eigenschaft bei Bedarf über das interaktive Menü von `xterm(1)` ändern.

terminal-features[] string
Legen Sie Terminal-Funktionen für Terminaltypen fest, die aus `terminfo(5)` gelesen werden. tmux verfügt über eine Reihe benannter Terminal-Funktionen. Jede wird geeignete Änderungen am verwendeten Eintrag von `terminfo(5)` anwenden.

tmux kann Funktionen für einige gängige Terminals erkennen; diese Option kann verwendet werden, um tmux auf einfache Weise über Funktionen zu informieren, die von Terminals unterstützt werden, die es nicht erkennen kann. Die Option `terminal-overrides` ermöglicht es, einzelne Funktionen von `terminfo(5)` festzulegen, `terminal-features` ist jedoch für Funktionsklassen gedacht, die auf standardisierte Weise unterstützt werden, aber nicht von `terminfo(5)` gemeldet werden. Es muss darauf geachtet werden, dies nur mit Funktionen zu konfigurieren, die das Terminal tatsächlich unterstützt.

Dies ist eine Array-Option, bei der jeder Eintrag eine durch einen Doppelpunkt getrennte Zeichenfolge ist, die aus einem Terminaltyp-Muster (das mit Glob(7)-Mustern abgeglichen wird) und einer Liste von Terminal-Funktionen besteht. Die verfügbaren Funktionen sind:

256 Unterstützt 256 Farben mit den SGR-Escape-Sequenzen.

clipboard
Erlaubt das Setzen der System-Zwischenablage.

ccolour
Erlaubt das Setzen der Cursorfarbe.

cstyle
Erlaubt das Setzen des Cursorstils.

extkeys
Unterstützt erweiterte Tasten.

focus
Unterstützt die Meldung über den Fokus.

hyperlinks
Unterstützt OSC 8-Hyperlinks.

ignorefkeys
Ignoriert Funktionstasten aus terminfo(5) und verwendet nur das interne Set von tmux.

margins
Unterstützt DECSLRM-Ränder.

mouse
Unterstützt xterm(1)-Maussequenzen.

osc7
Unterstützt die OSC 7-Arbeitsverzeichniserweiterung.

overline
Unterstützt das SGR-Attribut für Überstriche.

rectfill
Unterstützt die DECFRA-Rechteckfüll-Escape-Sequenz.

RGB
Unterstützt RGB-Farben mit den SGR-Escape-Sequenzen.

sixel
Unterstützt SIXEL-Grafiken.

strikethrough
Unterstützt die SGR-Escape-Sequenz für Durchstreichungen.

sync
Unterstützt synchronisierte Aktualisierungen.

title
Unterstützt das Setzen des Titels von xterm(1).

usstyle
Erlaubt das Setzen des Strichunterlegungsstils und der -farbe.

terminal-overrides[] string
Erlaubt das Überschreiben von Terminalbeschreibungen, die mit terminfo(5) gelesen werden. Jeder Eintrag ist eine durch einen Doppelpunkt getrennte Zeichenfolge, die aus einem Terminaltyp-Muster (das mit Glob(7)-Mustern abgeglichen wird) und einer Reihe von Name=Wert-Einträgen besteht.

Zum Beispiel, um den Eintrag „clear“ von terminfo(5) für alle Terminaltypen, die mit „rxvt*“ übereinstimmen, auf „\e[H\e[2J“ zu setzen:

rxvt*:clear=\e[H\e[2J

Der Terminal-Eintragswert wird vor der Interpretation durch strunvis(3) geleitet.

user-keys[] key
Setzt die Liste der benutzerdefinierten Tastenevents. Jeder Eintrag ist einer Taste mit dem Namen „User0“, „User1“ usw. zugeordnet.

Zum Beispiel:

set -s user-keys[0] "\e[5;30012~"
bind User0 resize-pane -L 3

variation-selector-always-wide [on | off]
Behandelt den Unicode-Variationsselektor 16 immer als ein breites Zeichen. Dies ist eine Funktion einiger Terminals als Teil ihrer Unicode 14-Unterstützung.

Verfügbare Sitzungsoptionen sind:

activity-action [any | none | current | other]
Setzt die Aktion bei Fensteraktivität, wenn monitor-activity aktiviert ist. „any“ bedeutet, dass Aktivität in einem beliebigen Fenster, das einer Sitzung zugeordnet ist, einen Signalton oder eine Meldung (abhängig von visual-activity) im aktuellen Fenster dieser Sitzung auslöst, „none“ bedeutet, dass alle Aktivitäten ignoriert werden (entspricht dem Deaktivieren von monitor-activity), „current“ bedeutet, dass nur Aktivitäten in Fenstern, die nicht das aktuelle Fenster sind, ignoriert werden, und „other“ bedeutet, dass Aktivitäten im aktuellen Fenster ignoriert werden, aber nicht in anderen Fenstern.

assume-paste-time Millisekunden
Wenn Tasten schneller als alle Millisekunden eingegeben werden, wird angenommen, dass sie eingefügt wurden und nicht getippt wurden, und die Tastenbindungen von tmux werden nicht verarbeitet. Der Standardwert ist eine Millisekunde, und Null deaktiviert dies.

base-index Index
Setzt den Basisindex, ab dem ein nicht verwendeter Index gesucht werden soll, wenn ein neues Fenster erstellt wird. Der Standardwert ist Null.

bell-action [any | none | current | other]
Legt eine Aktion für eine Glocke in einem Fenster fest, wenn monitor-bell aktiviert ist. Die Werte sind die gleichen wie für activity-action.

default-command shell-command
Legt den Befehl fest, der für neue Fenster verwendet wird (falls beim Erstellen des Fensters nicht angegeben). shell-command kann ein beliebiger [sh]({filename}../../sh)(1)-Befehl sein. Der Standardwert ist eine leere Zeichenkette, die tmux anweist, eine Login-Shell unter Verwendung des Werts der Option default-shell zu erstellen.

default-shell path
Gibt die Standardshell an. Dies wird als Login-Shell für neue Fenster verwendet, wenn die Option default-command auf leer gesetzt ist, und muss der vollständige Pfad der ausführbaren Datei sein. Beim Start versucht tmux, einen Standardwert aus der ersten geeigneten der folgenden Variablen zu setzen: die Umgebungsvariable SHELL, die von getpwuid(3) zurückgegebene Shell oder /bin/sh. Diese Option sollte konfiguriert werden, wenn tmux als Login-Shell verwendet wird.

default-size XxY
Legt die Standardgröße neuer Fenster fest, wenn die Option window-size auf manuell gesetzt ist oder wenn eine Sitzung mit new-session -d erstellt wird. Der Wert ist die Breite und Höhe, getrennt durch ein „x“-Zeichen. Der Standardwert ist 80x24.

destroy-unattached [off | on | keep-last | keep-group]
Wenn auf on gesetzt, wird die Sitzung zerstört, nachdem der letzte Client die Verbindung getrennt hat. Wenn auf off (Standard) gesetzt, wird die Sitzung als verwaist gelassen. Wenn auf keep-last gesetzt, wird die Sitzung nur zerstört, wenn sie sich in einer Gruppe befindet und andere Sitzungen in dieser Gruppe vorhanden sind. Wenn auf keep-group gesetzt, wird die Sitzung nur zerstört, wenn sie sich in einer Gruppe befindet und die einzige Sitzung in dieser Gruppe ist.

detach-on-destroy [off | on | no-detached | previous | next]
Wenn auf on (Standard) gesetzt, wird der Client getrennt, wenn die Sitzung, mit der er verbunden ist, zerstört wird. Wenn auf off gesetzt, wird der Client auf die zuletzt aktive der verbleibenden Sitzungen umgeschaltet. Wenn auf no-detached gesetzt, wird der Client nur dann getrennt, wenn keine getrennten Sitzungen vorhanden sind; wenn getrennte Sitzungen vorhanden sind, wird der Client auf die zuletzt aktive Sitzung umgeschaltet. Wenn auf previous oder next gesetzt, wird der Client auf die vorherige oder nächste Sitzung in alphabetischer Reihenfolge umgeschaltet.

display-panes-active-colour colour
Legt die Farbe fest, die vom Befehl display-panes verwendet wird, um den Indikator für das aktive Fenster anzuzeigen.

display-panes-colour colour
Legt die Farbe fest, die vom Befehl display-panes verwendet wird, um die Indikatoren für inaktive Fenster anzuzeigen.

display-panes-time time
Legt die Zeit in Millisekunden fest, für die die vom Befehl display-panes angezeigten Indikatoren angezeigt werden.

display-time time
Legt die Zeit fest, für die Statusleistenmeldungen und andere On-Screen-Indikatoren angezeigt werden. Wenn auf 0 gesetzt, werden Meldungen und Indikatoren angezeigt, bis eine Taste gedrückt wird. Die Zeit wird in Millisekunden angegeben.

history-limit lines
Legt die maximale Anzahl von Zeilen fest, die im Fensterverlauf gespeichert werden. Diese Einstellung gilt nur für neue Fenster - vorhandene Fensterverläufe werden nicht geändert und behalten die beim Erstellen festgelegte Grenze bei.

initial-repeat-time time
Legt die Zeit in Millisekunden für die anfängliche Wiederholung fest, wenn eine Taste mit dem -r-Flag gebunden ist. Dadurch können mehrere Befehle eingegeben werden, ohne die Präfix-Taste erneut drücken zu müssen. Siehe auch die Option repeat-time. Wenn initial-repeat-time Null ist, wird repeat-time für den ersten Tastendruck verwendet.

key-table key-table
Setzt die Standard-Tastaturbelegung auf key-table anstelle von root.

lock-after-time number
Sperrt die Sitzung (wie der Befehl lock-session) nach number Sekunden Inaktivität. Der Standardwert ist, nicht zu sperren (auf 0 setzen).

lock-command shell-command
Befehl, der ausgeführt wird, wenn ein Client gesperrt wird. Der Standard ist, lock(1) mit -np auszuführen.

menu-style style
Setzt den Menüstil. Siehe den Abschnitt „STYLES“, um zu erfahren, wie Sie den Stil angeben.

menu-selected-style style
Setzt den Stil des ausgewählten Menüelements. Siehe den Abschnitt „STYLES“, um zu erfahren, wie Sie den Stil angeben.

menu-border-style style
Setzt den Stil der Menüränder. Siehe den Abschnitt „STYLES“, um zu erfahren, wie Sie den Stil angeben.

menu-border-lines type
Setzt den Typ der Zeichen, die zum Zeichnen von Menürändern verwendet werden. Siehe popup-border-lines für mögliche Werte für border-lines.

message-command-style style
Setzt den Stil der Statusleiste für Befehlsmeldungen. Dies wird für die Befehlseingabeaufforderung mit vi(1)-Tasten verwendet, wenn sich im Befehlsmodus befindet. Wie Sie den Stil angeben, finden Sie im Abschnitt „STYLES“.

message-line [0 | 1 | 2 | 3 | 4]
Setzt die Zeile, in der Statusleistenmeldungen und die Befehlseingabeaufforderung angezeigt werden.

message-style style
Setzt den Stil der Statusleistenmeldung. Dies wird für Meldungen und für die Befehlseingabeaufforderung verwendet. Wie Sie den Stil angeben, finden Sie im Abschnitt „STYLES“.

mouse [on | off]
Wenn auf „on“ gesetzt, erfasst tmux die Maus und ermöglicht es, Mausereignisse als Tastenkombinationen zu verwenden. Siehe den Abschnitt „MOUSE SUPPORT“ für Einzelheiten.

prefix key
Setzt die Taste, die als Präfix-Taste akzeptiert wird. Zusätzlich zu den unter „KEY BINDINGS“ beschriebenen Standardtasten kann prefix auf die spezielle Taste „None“ gesetzt werden, um kein Präfix festzulegen.

prefix2 key
Setzt eine sekundäre Taste, die als Präfix-Taste akzeptiert wird. Wie prefix kann prefix2 auf „None“ gesetzt werden.

prefix-timeout time
Setzt die Zeit in Millisekunden, die tmux nach der Eingabe des Präfixes wartet, bevor es diese verwirft. Kann auf Null gesetzt werden, um ein Timeout zu deaktivieren.

prompt-cursor-colour colour
Setzt die Farbe des Cursors in der Befehlseingabeaufforderung.

prompt-cursor-style style
Setzt den Stil des Cursors in der Befehlseingabeaufforderung. Siehe die Optionen cursor-style für die verfügbaren Stile.

renumber-windows [on | off]
Wenn auf „on“ gesetzt, werden die anderen Fenster in einer Sitzung automatisch in numerischer Reihenfolge neu nummeriert, wenn ein Fenster in einer Sitzung geschlossen wird. Dies berücksichtigt die Option base-index, falls diese festgelegt wurde. Wenn auf „off“ gesetzt, werden die Fenster nicht neu nummeriert.

repeat-time time
Ermöglicht die Eingabe mehrerer Befehle, ohne die Präfix-Taste innerhalb der angegebenen Zeit in Millisekunden erneut drücken zu müssen (der Standardwert ist 500). Ob eine Taste wiederholt wird, kann beim Binden mit dem Flag -r von bind-key festgelegt werden. Die Wiederholung ist für die Standardtasten aktiviert, die an den Befehl resize-pane gebunden sind. Siehe auch die Option initial-repeat-time.

set-titles [ein | aus]

Versucht, den Titel des Client-Terminals mit den tsl- und fsl-Einträgen von terminfo(5) zu setzen, falls diese vorhanden sind. tmux setzt diese automatisch auf die Sequenz \e]0;...\007, wenn das Terminal wie ein xterm(1) aussieht. Diese Option ist standardmäßig deaktiviert.

set-titles-string string

Zeichenkette, die verwendet wird, um den Titel des Client-Terminals zu setzen, wenn set-titles aktiviert ist. Formate werden erweitert, siehe den Abschnitt „FORMATS“.

silence-action [any | none | current | other]

Aktion, die ausgeführt werden soll, wenn ein Fenster stummgeschaltet ist und monitor-silence aktiviert ist. Die Werte sind die gleichen wie für activity-action.

status [aus | ein | 2 | 3 | 4 | 5]

Zeigt oder blendet die Statusleiste aus oder gibt deren Größe an. ein zeigt eine Statusleiste mit einer Zeile Höhe an; 2, 3, 4 oder 5 für zusätzliche Zeilen.

status-format[] format

Gibt das Format an, das für jede Zeile der Statusleiste verwendet werden soll. Standardmäßig wird die oberste Statusleiste aus den verschiedenen einzelnen Statusoptionen unten aufgebaut.

status-interval intervall

Aktualisiert die Statusleiste alle intervall Sekunden. Standardmäßig erfolgt die Aktualisierung alle 15 Sekunden. Eine Einstellung von Null deaktiviert die Aktualisierung in diesem Intervall.

status-justify [links | mitte | rechts | absolut-mitte]

Setzt die Position der Fensterliste in der Statusleiste: links, mitte oder rechts. mitte platziert die Fensterliste in der relativen Mitte des verfügbaren freien Platzes; absolut-mitte verwendet die Mitte des gesamten horizontalen Bereichs.

status-keys [vi | emacs]

Verwendet vi- oder emacs-ähnliche Tastenkombinationen in der Statusleiste, z. B. bei der Eingabeaufforderung. Standardmäßig ist emacs eingestellt, es sei denn, die Umgebungsvariablen VISUAL oder EDITOR sind gesetzt und enthalten die Zeichenkette „vi“.

status-left string

Zeigt eine Zeichenkette (standardmäßig der Sitzungsname) links in der Statusleiste an. string wird durch strftime(3) geleitet. Siehe auch die Abschnitte „FORMATS“ und „STYLES“.

Beispiele:

#(sysctl vm.loadavg)
#[fg=yellow,bold]#(apm -l)%%#[default] [#S]

Standardmäßig ist dies „[#S]“.

status-left-length länge

Setzt die maximale Länge des linken Teils der Statusleiste. Standardmäßig ist dies 10.

status-left-style style

Setzt den Stil des linken Teils der Statusleiste. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

status-position [oben | unten]

Setzt die Position der Statusleiste.

status-right string

Zeigt eine Zeichenkette rechts in der Statusleiste an. Standardmäßig werden der aktuelle Fenstertitel in doppelten Anführungszeichen, das Datum und die Uhrzeit angezeigt. Wie bei status-left wird string durch strftime(3) geleitet und Zeichenpaare werden ersetzt.

status-right-length länge

Setzt die maximale Länge des rechten Teils der Statusleiste. Standardmäßig ist dies 40.

status-right-style style

Setzt den Stil des rechten Teils der Statusleiste. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

status-style style

Setzt den Stil der Statusleiste. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.


update-environment[] variable

Definiert die Liste der Umgebungsvariablen, die in die Sitzungsumgebung kopiert werden sollen, wenn eine neue Sitzung erstellt oder eine vorhandene Sitzung angehängt wird. Alle Variablen, die in der Quellumgebung nicht vorhanden sind, werden aus der Sitzungsumgebung entfernt (so als ob die Option -r an den Befehl set-environment übergeben worden wäre).

visual-activity [on | off | both]

Wenn auf „on“ gesetzt, wird anstelle eines Tons eine Nachricht angezeigt, wenn in einem Fenster, für das die Option „monitor-activity“ aktiviert ist, eine Aktivität stattfindet. Wenn auf „both“ gesetzt, werden sowohl ein Ton als auch eine Nachricht ausgegeben.

visual-bell [on | off | both]

Wenn auf „on“ gesetzt, wird anstelle des Tons, der normalerweise an das Terminal gesendet wird, eine Nachricht in einem Fenster angezeigt, für das die Option „monitor-bell“ aktiviert ist. Wenn auf „both“ gesetzt, werden sowohl ein Ton als auch eine Nachricht ausgegeben. Siehe auch die Option „bell-action“.

visual-silence [on | off | both]

Wenn „monitor-silence“ aktiviert ist, wird nach Ablauf des Intervalls in einem bestimmten Fenster eine Nachricht ausgegeben, anstatt einen Ton zu senden. Wenn auf „both“ gesetzt, werden sowohl ein Ton als auch eine Nachricht ausgegeben.

word-separators string

Definiert die Zeichen, die die Sitzung als Worttrennzeichen betrachtet, für die Zwecke der Befehle „nächste“ und „vorherige“ in der Kopie-Modus.

Verfügbare Fensteroptionen sind:

aggressive-resize [on | off]

Passt die Größe des ausgewählten Fensters aggressiv an. Dies bedeutet, dass tmux die Größe des Fensters auf die Größe der kleinsten oder größten Sitzung (siehe die Option „window-size“) ändert, für die es das aktuelle Fenster ist, anstatt auf die Sitzung, an die es angehängt ist. Das Fenster kann seine Größe ändern, wenn das aktuelle Fenster in einer anderen Sitzung geändert wird; diese Option ist gut für Vollbildprogramme, die SIGWINCH unterstützen, und schlecht für interaktive Programme wie Shells.

automatic-rename [on | off]

Steuert das automatische Umbenennen von Fenstern. Wenn diese Einstellung aktiviert ist, benennt tmux das Fenster automatisch mithilfe des in „automatic-rename-format“ angegebenen Formats um. Diese Option wird für ein einzelnes Fenster automatisch deaktiviert, wenn ein Name bei der Erstellung mit „new-window“ oder „new-session“ oder später mit „rename-window“ oder mit einer Terminal-Escape-Sequenz angegeben wird. Sie kann global mit deaktiviert werden:

set-option -wg automatic-rename off

automatic-rename-format format

Das Format (siehe „FORMATS“), das verwendet wird, wenn die Option „automatic-rename“ aktiviert ist.

clock-mode-colour colour

Legt die Farbe der Uhr fest.

clock-mode-style [12 | 24 | 12-with-seconds | 24-with-seconds]

Legt das Stundenformat der Uhr fest.

fill-character character

Legt das Zeichen fest, das zum Ausfüllen von Bereichen des Terminals verwendet wird, die von einem Fenster nicht genutzt werden.

main-pane-height height
main-pane-width width

Legt die Höhe oder Breite des Hauptfensters (links oder oben) in den Layouts „main-horizontal“, „main-horizontal-mirrored“, „main-vertical“ oder „main-vertical-mirrored“ fest. Wenn dies mit „%“ endet, ist dies ein Prozentsatz der Fenstergröße.

copy-mode-match-style style

Legt den Stil der Suchergebnisse im Kopie-Modus fest. Wie man den Stil festlegt, finden Sie im Abschnitt „STYLES“.


copy-mode-mark-style style
Legt den Stil der Zeile mit dem Markierungszeichen im Kopiermodus fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“.

copy-mode-current-match-style style
Legt den Stil der aktuellen Suchübereinstimmung im Kopiermodus fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“.

copy-mode-position-format format
Format des Positionsanzeigers im Kopiermodus.

mode-keys [vi | emacs]
Verwendet vi- oder Emacs-ähnliche Tastenkombinationen im Kopiermodus. Standardmäßig ist Emacs eingestellt, es sei denn, die Umgebungsvariable VISUAL oder EDITOR enthält „vi“.

copy-mode-position-style style
Legt den Stil des Positionsanzeigers im Kopiermodus fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“.

copy-mode-selection-style style
Legt den Stil der Auswahl im Kopiermodus fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“.

mode-style style
Legt den Stil der Fenstermodi fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“.

monitor-activity [on | off]
Überwacht die Aktivität in einem Fenster. Fenster mit Aktivität werden in der Statusleiste hervorgehoben.

monitor-bell [on | off]
Überwacht das Vorhandensein eines akustischen Signals in einem Fenster. Fenster mit einem akustischen Signal werden in der Statusleiste hervorgehoben.

monitor-silence [interval]
Überwacht die Stille (keine Aktivität) in einem Fenster innerhalb eines bestimmten Zeitraums in Sekunden. Fenster, die für den angegebenen Zeitraum still waren, werden in der Statusleiste hervorgehoben. Ein Zeitraum von Null deaktiviert die Überwachung.

other-pane-height height
Legt die Höhe der anderen Bereiche (nicht der Hauptbereich) in den Layouts „main-horizontal“ und „main-horizontal-mirrored“ fest. Wenn diese Option auf 0 (Standard) gesetzt ist, hat sie keine Auswirkung. Wenn sowohl die Option „main-pane-height“ als auch die Option „other-pane-height“ gesetzt sind, wird der Hauptbereich größer, um die anderen Bereiche auf die angegebene Höhe zu bringen, aber er wird niemals kleiner. Wenn am Ende ein „%“-Zeichen steht, wird dies als Prozentsatz der Fenstergröße interpretiert.

other-pane-width width
Ähnlich wie „other-pane-height“, aber legt die Breite der anderen Bereiche in den Layouts „main-vertical“ und „main-vertical-mirrored“ fest.

pane-active-border-style style
Legt den Rahmenstil für den aktuell aktiven Bereich fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STILE“. Attribute werden ignoriert.

pane-base-index index
Ähnlich wie „base-index“, aber legt den Startindex für die Bereichsnummern fest.

pane-border-format format
Legt den Text fest, der in den Rahmenstatuszeilen der Bereiche angezeigt wird.

pane-border-indicators [off | colour | arrows | both]
Gibt den aktiven Bereich durch Einfärbung nur der Hälfte des Rahmens in Fenstern mit genau zwei Bereichen, durch Anzeigen von Pfeilmarkierungen oder durch Zeichnen von beidem oder von keinem der Elemente an.

pane-border-lines type
Legt die Art der Zeichen fest, die zum Zeichnen der Bereichsrahmen verwendet werden. type kann einer der folgenden Werte sein:

single einzelne Linien mit ACS- oder UTF-8-Zeichen

double doppelte Linien mit UTF-8-Zeichen

heavy dicke Linien mit UTF-8-Zeichen

simple einfache ASCII-Zeichen

number die Bereichsnummer

spaces Leerzeichen

„double“ und „heavy“ werden auf Standard-ACS-Zeichen zurückgegriffen, wenn UTF-8 nicht unterstützt wird.

pane-border-status [off | top | bottom]

Schaltet die Statuszeilen des Rahmenrandes aus oder legt deren Position fest.

pane-border-style style

Legt den Rahmenstil für die Rahmen aller Fenster außer dem aktiven Fenster fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“. Attribute werden ignoriert.

popup-style style

Legt den Popup-Stil fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“. Attribute werden ignoriert.

popup-border-style style

Legt den Popup-Rahmenstil fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“. Attribute werden ignoriert.

popup-border-lines type

Legt den Typ der zum Zeichnen von Popup-Rahmen verwendeten Zeichen fest. type kann einer der folgenden Werte sein:

single  Einzelne Linien mit ACS- oder UTF-8-Zeichen (Standard)

rounded
Eine Variante von `single` mit abgerundeten Ecken unter Verwendung von UTF-8-Zeichen

double  Doppelte Linien mit UTF-8-Zeichen

heavy   Fette Linien mit UTF-8-Zeichen

simple  Einfache ASCII-Zeichen

padded  Einfache ASCII-Leerzeichen

none    Kein Rahmen

`double` und `heavy` fallen bei fehlender UTF-8-Unterstützung auf Standard-ACS-Zeichen zurück.

pane-scrollbars [off | modal | on]

Wenn aktiviert, wird eine zeichenbasierte Bildlaufleiste auf der linken oder rechten Seite jedes Fensters angezeigt. Ein ausgefüllter Abschnitt der Bildlaufleiste, der als „Schieberegler“ bekannt ist, stellt die Position und Größe des sichtbaren Teils des Fensterinhalts dar.

Wenn auf on gesetzt, ist die Bildlaufleiste immer sichtbar. Wenn auf modal gesetzt, wird die Bildlaufleiste nur angezeigt, wenn sich das Fenster im Kopiermodus oder im Anzeigemodus befindet. Wenn die Bildlaufleiste sichtbar ist, wird das Fenster um die Breite der Bildlaufleiste verkleinert und der Text im Fenster wird neu angeordnet. Wenn auf modal gesetzt, wird das Fenster nur dann verkleinert, wenn die Bildlaufleiste sichtbar ist.

Siehe auch pane-scrollbars-style.

pane-scrollbars-style style

Legt den Stil der Bildlaufleisten fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“. Die Vordergrundfarbe wird für den Schieberegler verwendet, der Hintergrund für den Rest der Bildlaufleiste. Das Attribut width legt die Breite der Bildlaufleiste fest, und das Attribut pad legt den Abstand zwischen der Bildlaufleiste und dem Fenster fest. Andere Attribute werden ignoriert.

pane-scrollbars-position [left | right]

Legt fest, auf welcher Seite des Fensters die Bildlaufleisten angezeigt werden sollen.

pane-status-current-style style

Legt den Statuszeilenstil für das aktuell aktive Fenster fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“.

pane-status-style style

Legt den Statuszeilenstil für ein einzelnes Fenster fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“.

session-status-current-style style

Legt den Statuszeilenstil für die aktuell aktive Sitzung fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“.

session-status-style style

Legt den Statuszeilenstil für eine einzelne Sitzung fest. Informationen zur Angabe von style finden Sie im Abschnitt „STILE“.

tiled-layout-max-columns number

Legt die maximale Anzahl von Spalten im gekachelten Layout fest. Ein Wert von 0 (Standard) bedeutet, dass es keine Begrenzung gibt. Wenn eine Grenze festgelegt ist, werden die Fenster so angeordnet, dass diese Anzahl von Spalten nicht überschritten wird, wobei zusätzliche Fenster in zusätzlichen Zeilen gestapelt werden.


window-status-activity-style style

Legt den Statuszeilenstil für Fenster mit einer Aktivitätswarnung fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

window-status-bell-style style

Legt den Statuszeilenstil für Fenster mit einer Alarmwarnung fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

window-status-current-format string

Ähnlich wie window-status-format, jedoch wird dieses Format verwendet, wenn das Fenster das aktuelle Fenster ist.

window-status-current-style style

Legt den Statuszeilenstil für das aktuell aktive Fenster fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

window-status-format string

Legt das Format fest, in dem das Fenster in der Statuszeilen-Fensterliste angezeigt wird. Siehe die Abschnitte „FORMATS“ und „STYLES“.

window-status-last-style style

Legt den Statuszeilenstil für das zuletzt aktive Fenster fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

window-status-separator string

Legt das Trennzeichen fest, das zwischen Fenstern in der Statuszeile gezeichnet wird. Standardmäßig ist dies ein einzelnes Leerzeichen.

window-status-style style

Legt den Statuszeilenstil für ein einzelnes Fenster fest. Informationen zur Angabe des Stils finden Sie im Abschnitt „STYLES“.

window-size largest | smallest | manual | latest

Konfiguriert, wie tmux die Fenstergröße bestimmt. Wenn es auf largest gesetzt ist, wird die Größe der größten angehängten Sitzung verwendet; wenn es auf smallest gesetzt ist, wird die Größe der kleinsten Sitzung verwendet. Wenn es auf manual gesetzt ist, wird die Größe eines neuen Fensters anhand der Option default-size festgelegt und die Fenster werden automatisch in der Größe angepasst. Mit latest verwendet tmux die Größe des Clients, der zuletzt aktiv war. Siehe auch den Befehl resize-window und die Option aggressive-resize.

wrap-search [on | off]

Wenn diese Option gesetzt ist, werden Suchvorgänge am Ende des Bereichsinhalts fortgesetzt. Standardmäßig ist sie auf on gesetzt.

Verfügbare Bereichsoptionen sind:

allow-passthrough [on | off | all]

Erlaubt Programmen im Bereich, tmux mithilfe einer Terminal-Escape-Sequenz (\ePtmux;...\e\) zu umgehen. Wenn es auf on gesetzt ist, werden Passthrough-Sequenzen nur dann zulässig, wenn der Bereich sichtbar ist. Wenn es auf all gesetzt ist, sind sie auch dann zulässig, wenn der Bereich unsichtbar ist.

allow-rename [on | off]

Erlaubt Programmen im Bereich, den Fensternamen mithilfe einer Terminal-Escape-Sequenz (\ek...\e\) zu ändern.

allow-set-title [on | off]

Erlaubt Programmen im Bereich, den Titel mithilfe der Terminal-Escape-Sequenzen (\e]2;...\e\ oder \e]0;...\e\) zu ändern.

alternate-screen [on | off]

Diese Option konfiguriert, ob Programme, die im Bereich ausgeführt werden, das Terminal-Feature für den alternativen Bildschirm verwenden können, das die smcup- und rmcup-Terminfo(5)-Funktionen ermöglicht. Das Feature für den alternativen Bildschirm speichert den Inhalt des Fensters, wenn eine interaktive Anwendung gestartet wird, und stellt ihn nach dem Beenden wieder her, so dass alle Ausgaben, die vor dem Start der Anwendung sichtbar waren, nach dem Beenden unverändert wieder angezeigt werden.

cursor-colour colour

Legt die Farbe des Cursors fest.

cursor-style style

Legt den Stil des Cursors fest. Verfügbare Stile sind: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.


pane-colours[] farbe
Die Standard-Farbpalette. Jeder Eintrag im Array definiert die Farbe, die tmux verwendet, wenn die Farbe mit diesem Index angefordert wird. Der Index kann von Null bis 255 sein.

remain-on-exit [ein | aus | fehlgeschlagen]
Eine Pane mit dieser Option wird nicht zerstört, wenn das darin ausgeführte Programm beendet wird. Wenn auf fehlgeschlagen gesetzt, dann nur, wenn der Exit-Status des Programms nicht Null ist. Die Pane kann mit dem Befehl respawn-pane wieder aktiviert werden.

remain-on-exit-format string
Legen Sie den Text fest, der unten in beendeten Panes angezeigt wird, wenn remain-on-exit aktiviert ist.

scroll-on-clear [ein | aus]
Wenn der gesamte Bildschirm gelöscht wird und diese Option aktiviert ist, wird der Inhalt des Bildschirms in den Verlauf geschoben, bevor er gelöscht wird.

synchronize-panes [ein | aus]
Duplizieren Sie die Eingabe in alle anderen Panes im selben Fenster, in denen diese Option ebenfalls aktiviert ist (nur für Panes, die sich nicht in einem Modus befinden).

window-active-style style
Legen Sie den Pane-Stil fest, wenn es sich um die aktive Pane handelt. Wie der Stil festgelegt wird, finden Sie im Abschnitt „STYLES“.

window-style style
Legen Sie den Pane-Stil fest. Wie der Stil festgelegt wird, finden Sie im Abschnitt „STYLES“.

HOOKS

tmux ermöglicht die Ausführung von Befehlen bei verschiedenen Triggern, den sogenannten Hooks. Die meisten tmux-Befehle haben einen After-Hook, und es gibt eine Reihe von Hooks, die nicht mit Befehlen verbunden sind.

Hooks werden als Array-Optionen gespeichert, die Mitglieder des Arrays werden in der Reihenfolge ausgeführt, in der der Hook ausgelöst wird. Wie bei Optionen können Hooks global sein oder zu einer Sitzung, einem Fenster oder einer Pane gehören. Hooks können mit den Befehlen set-hook oder set-option konfiguriert und mit show-hooks oder show-options -H angezeigt werden. Die folgenden beiden Befehle sind äquivalent:

set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red'
set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red'

Das Setzen eines Hooks ohne Angabe eines Array-Index löscht den Hook und setzt das erste Element des Arrays.

Ein After-Hook eines Befehls wird nach dessen Ausführung ausgeführt, es sei denn, der Befehl wird als Teil eines Hooks ausgeführt. Sie sind mit dem Präfix „after-“ versehen. Zum Beispiel fügt der folgende Befehl nach jedem split-window einen Hook hinzu, um das Layout even-vertical auszuwählen:

set-hook -g after-split-window "selectl even-vertical"

Wenn ein Befehl fehlschlägt, wird der Hook „command-error“ ausgelöst. Dies kann beispielsweise verwendet werden, um in eine Protokolldatei zu schreiben:

set-hook -g command-error "run-shell \"echo 'ein tmux-Befehl ist fehlgeschlagen' >>/tmp/log\""

Alle im Abschnitt „CONTROL MODE“ aufgeführten Benachrichtigungen sind Hooks (ohne Argumente), mit Ausnahme von %exit. Die folgenden zusätzlichen Hooks sind verfügbar:

alert-activity Run, wenn ein Fenster aktiv ist. Siehe monitor-activity.

alert-bell Run, wenn ein Fenster ein Glockensignal empfangen hat. Siehe monitor-bell.

alert-silence Run, wenn ein Fenster inaktiv ist. Siehe monitor-silence.

client-active Run, wenn ein Client zum aktuell aktiven Client seiner Sitzung wird.

client-attached     Ausführen, wenn ein Client angehängt wird.

client-detached     Ausführen, wenn ein Client getrennt wird.

client-focus-in     Ausführen, wenn der Fokus in einen Client gelangt.

client-focus-out        Ausführen, wenn der Fokus einen Client verlässt.

client-resized      Ausführen, wenn ein Client die Größe ändert.

client-session-changed  Ausführen, wenn sich die zugehörige Sitzung eines Clients ändert.

client-light-theme      Ausführen, wenn ein Client zu einem hellen Farbschema wechselt.

client-dark-theme       Ausführen, wenn ein Client zu einem dunklen Farbschema wechselt.

command-error       Ausführen, wenn ein Befehl fehlschlägt.

pane-died           Ausführen, wenn das Programm in einem Bereich beendet wird, aber remain-on-exit aktiviert ist, sodass der Bereich nicht geschlossen wird.

pane-exited         Ausführen, wenn das Programm in einem Bereich beendet wird.

pane-focus-in       Ausführen, wenn der Fokus in einen Bereich gelangt, wenn die Option focus-events aktiviert ist.

pane-focus-out      Ausführen, wenn der Fokus einen Bereich verlässt, wenn die Option focus-events aktiviert ist.

pane-set-clipboard  Ausführen, wenn die Terminal-Zwischenablage mithilfe der xterm(1)-Escape-Sequenz festgelegt wird.

session-created     Ausführen, wenn eine neue Sitzung erstellt wird.

session-closed      Ausführen, wenn eine Sitzung geschlossen wird.

session-renamed     Ausführen, wenn eine Sitzung umbenannt wird.

window-layout-changed   Ausführen, wenn ein Fensterlayout geändert wird.

window-linked       Ausführen, wenn ein Fenster in eine Sitzung eingebunden wird.

window-renamed      Ausführen, wenn ein Fenster umbenannt wird.

window-resized      Ausführen, wenn ein Fenster die Größe ändert. Dies kann nach der Ausführung des Hooks client-resized erfolgen.

window-unlinked     Ausführen, wenn ein Fenster von einer Sitzung getrennt wird.

Hooks werden mit diesen Befehlen verwaltet:

set-hook [-agpRuw] [-t target-pane] hook-name [command]

Ohne -R wird der Hook hook-name auf den Befehl gesetzt (oder mit -u wird er entfernt). Die Flags sind die gleichen wie für set-option.

Mit -R wird der Hook hook-name sofort ausgeführt.

show-hooks [-gpw] [-t target-pane] [hook]

Zeigt Hooks an. Die Flags sind die gleichen wie für show-options.

MAUSUNTERSTÜTZUNG

Wenn die Option Maus aktiviert ist (Standardeinstellung ist deaktiviert), ermöglicht tmux, dass Mausereignisse als Tasten gebunden werden. Der Name jeder Taste besteht aus einem Mausereignis (z. B. „MouseUp1“) und einem Ortssuffix, einem der folgenden:

Pane            Der Inhalt eines Bereichs
Border          Eine Bereichsgrenze
Status          Die Statusleisten-Fensterliste
StatusLeft      Der linke Teil der Statusleiste
StatusRight     Der rechte Teil der Statusleiste
StatusDefault       Jeder andere Teil der Statusleiste
ScrollbarSlider Der Schieberegler der Bildlaufleiste
ScrollbarUp     Oberhalb des Schiebereglers der Bildlaufleiste
ScrollbarDown       Unterhalb des Schiebereglers der Bildlaufleiste

Die folgenden Mausereignisse stehen zur Verfügung:

WheelUp     WheelDown
MouseDown1      MouseUp1        MouseDrag1      MouseDragEnd1
MouseDown2      MouseUp2        MouseDrag2      MouseDragEnd2
MouseDown3      MouseUp3        MouseDrag3      MouseDragEnd3
SecondClick1        SecondClick2        SecondClick3
DoubleClick1        DoubleClick2        DoubleClick3
TripleClick1        TripleClick2        TripleClick3

Die Ereignisse „SecondClick“ werden für den zweiten Klick eines Doppelklicks ausgelöst, auch wenn es einen dritten Klick gibt, der stattdessen „TripleClick“ auslöst.


Jeder sollte mit einem Standort versehen werden, zum Beispiel „MouseDown1Status“.

Das spezielle Token „{mouse}“ oder „=” kann als Ziel-Fenster oder Ziel-Bereich in Befehlen verwendet werden, die an Maus-Tastenkombinationen gebunden sind. Es löst sich in das Fenster oder den Bereich auf, über dem das Mausereignis stattgefunden hat (zum Beispiel das Fenster in der Statusleiste, über dem die Taste 1 losgelassen wurde, für eine „MouseUp1Status“-Bindung, oder der Bereich, über dem das Mausrad für eine „WheelDownPane“-Bindung bewegt wurde).

Die Option „send-keys -M“ kann verwendet werden, um ein Mausereignis an einen Bereich weiterzuleiten.

Die Standard-Tastenkombinationen ermöglichen die Verwendung der Maus zum Auswählen und Ändern der Größe von Bereichen, zum Kopieren von Text und zum Wechseln von Fenstern über die Statusleiste. Diese werden wirksam, wenn die Option „mouse“ aktiviert ist.

FORMATE

Bestimmte Befehle akzeptieren die Option „-F“ mit einem Formatargument. Dies ist eine Zeichenkette, die das Ausgabeformat des Befehls steuert. Formatvariablen sind in „#{“ und „}“ eingeschlossen, zum Beispiel „#{session_name}“. Die möglichen Variablen sind in der folgenden Tabelle aufgeführt, oder der Name einer tmux-Option kann für den Wert der Option verwendet werden, oder der Name einer Umgebungsvariablen. Einige Variablen haben ein kürzeres Alias, wie z. B. „#S“. „##“ wird durch ein einzelnes „#“ ersetzt, „#,“ durch ein „,“ und „#}" durch ein „}".

Bedingungen sind verfügbar, indem man sie mit einem „?“ voranstellt. Für jedes Paar von zwei Argumenten wird, wenn die Variable im ersten der beiden Argumente vorhanden ist und nicht Null ist, das zweite der beiden Argumente ausgewählt, andernfalls wird fortgefahren. Wenn keine Bedingung aus gepaarten Argumenten übereinstimmt, wird der Standardwert ausgewählt. Wenn es ein nicht gepaartes letztes Argument gibt, ist dies der Standardwert. Wenn nicht, ist der Standardwert die leere Zeichenkette. Zum Beispiel wird „#{?session_attached,attached,not attached}“ die Zeichenkette „attached“ einfügen, wenn die Sitzung angehängt ist, und die Zeichenkette „not attached“, wenn sie nicht angehängt ist, oder „#{?automatic-rename,yes,no}“ wird „yes“ einfügen, wenn „automatic-rename“ aktiviert ist, oder „no“, wenn nicht. „#{?#{n:window_name},#{window_name} - }“ wird den Namen des Fensters mit einem Trennzeichen in Form eines Bindestrichs einfügen, wenn ein Name für das Fenster vorhanden ist, oder die leere Zeichenkette, wenn der Name des Fensters leer ist. „#{?session_format,format1,window_format,format2,format3}“ wird „format1“ für ein Sitzungsformat, „format2“ für ein Fensterformat oder „format3“ für weder ein Sitzungs- noch ein Fensterformat einfügen. Bedingungen können beliebig verschachtelt werden. Innerhalb einer Bedingung müssen „,“ und „}“ als „#,“ bzw. „#}" maskiert werden, es sei denn, sie sind Teil einer „#{...}“-Ersetzung. Zum Beispiel:

#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W

Zeichenkettenvergleiche können ausgedrückt werden, indem man zwei durch ein Komma getrennte Alternativen mit „==“, „!=“, „<“, „>“, „<=“ oder „>=“ und einem Doppelpunkt voranstellt. Zum Beispiel wird „#{==:#{host},myhost}“ durch „1“ ersetzt, wenn es auf „myhost“ ausgeführt wird, andernfalls durch „0“. „||“ und „&&“ werden als „true“ ausgewertet, wenn eines oder alle der durch ein Komma getrennten Alternativen „true“ sind, zum Beispiel „#{||:#{pane_in_mode},#{alternate_on}}“. „!“ wird als „true“ ausgewertet, wenn der Wert „false“ ist, und umgekehrt, zum Beispiel „#{!:#{pane_in_mode}}“. „!!“ wandelt einen Wert in eine kanonische boolesche Form um, 1 für „true“ und 0 für „false“, zum Beispiel wird „#{!!:non-empty string}“ zu 1 ausgewertet.

Ein „m“ gibt ein Glob(7)-Muster oder einen regulären Ausdruck für den Vergleich an. Das erste Argument ist das Muster und das zweite die zu vergleichende Zeichenkette. Ein optionales Argument gibt Flags an: „r“ bedeutet, dass das Muster ein regulärer Ausdruck und nicht das Standard-Glob(7)-Muster ist, und „i“ bedeutet, dass die Groß-/Kleinschreibung ignoriert wird. Zum Beispiel: „#{m:*foo*,#{host}}“ oder „#{m/ri:^A,MYVAR}“. Ein „C“ führt eine Suche nach einem Glob(7)-Muster oder einem regulären Ausdruck im Bereichsinhalt durch und ergibt 0, wenn nichts gefunden wird, oder die Zeilennummer, wenn etwas gefunden wird. Wie bei „m“ bedeutet ein „r“-Flag, dass nach einem regulären Ausdruck gesucht wird, und „i“ ignoriert die Groß-/Kleinschreibung. Zum Beispiel: „#{C/r:^Start}“.

Numerische Operationen können durchgeführt werden, indem zwei durch ein Komma getrennte Alternativen mit einem „e“ und einem Operator präfixiert werden. Ein optionales „f“-Flag kann angegeben werden, um Gleitkommazahlen zu verwenden, andernfalls werden Ganzzahlen verwendet. Dies kann durch eine Zahl gefolgt werden, die die Anzahl der zu verwendenden Dezimalstellen für das Ergebnis angibt. Die verfügbaren Operatoren sind: Addition „+“, Subtraktion „-“, Multiplikation „*“, Division „/“, Modulus „m“ oder „%“ (beachten Sie, dass „%“ in Formaten, die auch von strftime(3) erweitert werden, als „%%“ escaped werden muss) und numerische Vergleichsoperatoren „==“, „!=“, „<“, „<=“, „>“ und „>=“. Zum Beispiel multipliziert „#{e|*|f|4:5.5,3}“ 5,5 mit 3, wobei das Ergebnis mit vier Dezimalstellen angegeben wird, und „#{e|%%:7,3}“ gibt den Modulus von 7 und 3 zurück. „a“ ersetzt ein numerisches Argument durch dessen ASCII-Entsprechung, so dass „#{a:98}“ zu „b“ führt. „c“ ersetzt eine Tmux-Farbe durch ihren sechsstelligen hexadezimalen RGB-Wert.

Eine Beschränkung der Länge der resultierenden Zeichenkette kann vorgenommen werden, indem diese mit einem „=“, einer Zahl und einem Doppelpunkt präfixiert wird. Positive Zahlen zählen vom Anfang der Zeichenkette, negative vom Ende, so dass „#{=5:pane_title}“ höchstens die ersten fünf Zeichen des Bereichstitels enthält oder „#{=-5:pane_title}“ die letzten fünf Zeichen. Ein Suffix oder ein Präfix kann als zweites Argument angegeben werden – wenn angegeben, wird es an die Zeichenkette angehängt oder vorangestellt, wenn die Länge gekürzt wurde. Zum Beispiel hängt „\#{=/5/...:pane_title}“ „...“ an, wenn der Bereichstitel länger als fünf Zeichen ist. Ähnlich paddet „p“ die Zeichenkette auf eine bestimmte Breite, zum Beispiel führt „\#{p10:pane_title}“ zu einer Breite von mindestens 10 Zeichen. Eine positive Breite paddet links, eine negative rechts. „n“ wird zur Länge der Variablen und „w“ zu ihrer angezeigten Breite, zum Beispiel „#{n:window_name}“. „R“ wiederholt das erste Argument eine durch das zweite Argument angegebene Anzahl von Malen, so dass „#{R:a,3}“ zu „aaa“ führt.


Das vor eine Zeitvariable gestellte Präfix „t:“ wandelt sie in einen String um, sodass, wenn „\#{window_activity}“ „1445765102“ ergibt, „\#{t:window_activity}“ „Sun Oct 25 09:25:02 2015“ ergibt. Das Anhängen von „p (“ und „`t/p`“) verwendet ein kürzeres, aber weniger genaues Zeitformat für vergangene Zeiten. Ein benutzerdefiniertes Format kann mit dem Suffix „f“ angegeben werden (beachten Sie, dass „%“ als „%%“ escaped werden muss, wenn das Format separat an `strftime(3)` übergeben wird, zum Beispiel in der Option `status-left`): „\#{t/f/%%H#:%%M:window_activity}“, siehe `strftime(3)`.

Die Präfixe „b:“ und „d:“ sind basename(3) bzw. dirname(3) der Variablen. „q:“ escaped sh(1)-Sonderzeichen oder escaped mit dem Suffix „h“ Hash-Zeichen (so dass „#“ zu „##“ wird). „E:“ erweitert das Format zweimal, zum Beispiel ist „#{E:status-left}“ das Ergebnis der Erweiterung des Inhalts der Option status-left und nicht der Option selbst. „T:“ ist wie „E:“, erweitert aber auch strftime(3)-Spezifikatoren. „S:“, „W:“, „P:“ oder „L:“ iterieren über jede Sitzung, jedes Fenster, jedes Feld oder jeden Client und fügen das Format einmal für jedes ein. „L:“, „S:“ und „W:“ können ein optionales Sortierargument „/i“, „/n“, „/t“ haben, um nach Index, Name oder letzter Aktivitätszeit zu sortieren; zusätzlich „/r“ zum Sortieren in umgekehrter Reihenfolge. „/r“ kann auch mit „P:“ verwendet werden, um die Sortierreihenfolge nach Feldindex umzukehren. Zum Beispiel „S/nr:“ um die Sitzungen nach Name in umgekehrter Reihenfolge zu sortieren. Für jedes der oben genannten kann es zwei durch Komma getrennte Formate geben: das zweite wird für das aktuelle Fenster, das aktive Feld oder die aktive Sitzung verwendet. Zum Beispiel, um eine Liste von Fenstern zu erhalten, die wie die Statusleiste formatiert ist:

\#{W:#{E:window-status-format} ,\#{E:window-status-current-format} }

„N:“ prüft, ob ein Fenster (ohne Suffix oder mit dem Suffix „w“) oder ein Sitzungsname (mit dem Suffix „s“) vorhanden ist, zum Beispiel wird „`N/w:foo`“ durch 1 ersetzt, wenn ein Fenster mit dem Namen „foo“ vorhanden ist.

Ein Präfix der Form „s/foo/bar/:“ ersetzt „foo“ durch „bar“ im gesamten Text. Das erste Argument kann ein erweiterter regulärer Ausdruck sein, und ein abschließendes Argument kann „i“ sein, um Groß- und Kleinschreibung zu ignorieren, zum Beispiel würde „s/a(.)/\1x/i:“ „abABab“ in „bxBxbx“ ändern. Ein anderes Trennzeichen kann ebenfalls verwendet werden, um Kollisionen mit wörtlichen Schrägstrichen im Muster zu vermeiden. Zum Beispiel ersetzt „s|foo/|bar/|:“ „foo/“ durch „bar/“.


Mehrere Modifikatoren können durch ein Semikolon (;) getrennt werden, z. B. `\#{T;=10:status-left}`, wodurch die resultierende durch `strftime(3)` erweiterte Zeichenfolge auf maximal 10 Zeichen begrenzt wird.

Darüber hinaus kann die letzte Zeile der Ausgabe eines Shell-Befehls mit `\#()` eingefügt werden. Beispielsweise fügt `\#(uptime)` die Systemlaufzeit ein. Beim Erstellen von Formaten wartet tmux nicht darauf, dass die Befehle `\#()` abgeschlossen werden; stattdessen wird das vorherige Ergebnis der Ausführung desselben Befehls verwendet oder ein Platzhalter, wenn der Befehl noch nicht zuvor ausgeführt wurde. Wenn der Befehl nicht beendet wurde, wird die letzte Zeile der Ausgabe verwendet, aber die Statusleiste wird nicht öfter als einmal pro Sekunde aktualisiert. Befehle werden mit `/bin/sh` ausgeführt und mit der globalen tmux-Umgebung (siehe der Abschnitt „GLOBALE UND SITZUNGSSPEZIFISCHE UMGEBUNG“) ausgeführt.

Ein `l` gibt an, dass eine Zeichenfolge wörtlich interpretiert werden soll und nicht erweitert wird. Beispielsweise wird `\#{l:#{?pane_in_mode,yes,no}}` durch `\#{?pane_in_mode,yes,no}` ersetzt.

Die folgenden Variablen stehen zur Verfügung, falls zutreffend:

Variablenname Alias Ersetzt durch

active_window_index Index des aktiven Fensters in der Sitzung
alternate_on 1, wenn das Fenster im alternativen Bildschirmmodus ist
alternate_saved_x Gespeicherte Cursor-X-Position im alternativen Bildschirmmodus
alternate_saved_y Gespeicherte Cursor-Y-Position im alternativen Bildschirmmodus
buffer_created Zeit, zu der der Puffer erstellt wurde
buffer_full Voller Pufferinhalt
buffer_name Name des Puffers
buffer_sample Beispiel des Pufferanfangs
buffer_size Größe des angegebenen Puffers in Byte
client_activity Zeit der letzten Client-Aktivität
client_cell_height Höhe jeder Client-Zelle in Pixeln
client_cell_width Breite jeder Client-Zelle in Pixeln
client_control_mode 1, wenn sich der Client im Steuermodus befindet
client_created Zeit, zu der der Client erstellt wurde
client_discarded Anzahl der verworfenen Bytes, wenn der Client nicht aktiv ist
client_flags Liste der Client-Flags
client_height Höhe des Clients
client_key_table Aktuelle Tastaturbelegung
client_last_session Name der letzten Sitzung des Clients
client_name Name des Clients
client_pid PID des Client-Prozesses
client_prefix 1, wenn die Präfix-Taste gedrückt wurde
client_readonly 1, wenn der Client schreibgeschützt ist
client_session Name der Sitzung des Clients
client_termfeatures Terminal-Funktionen des Clients, falls vorhanden
client_termname Terminal-Name des Clients
client_termtype Terminal-Typ des Clients, falls verfügbar
client_tty Pseudo-Terminal des Clients
client_uid UID des Client-Prozesses
client_user Benutzer des Client-Prozesses
client_utf8 1, wenn der Client UTF-8 unterstützt
client_width Breite des Clients
client_written Anzahl der an den Client geschriebenen Bytes
command Name des verwendeten Befehls, falls vorhanden
command_list_alias Befehlsalias, wenn Befehle aufgelistet werden
command_list_name Befehlsname, wenn Befehle aufgelistet werden
command_list_usage Befehlshilfe, wenn Befehle aufgelistet werden
config_files Liste der geladenen Konfigurationsdateien
cursor_blinking 1, wenn der Cursor blinkt
copy_cursor_hyperlink Hyperlink unter dem Cursor im Kopiermodus
copy_cursor_line Zeile, auf der sich der Cursor im Kopiermodus befindet
copy_cursor_word Wort unter dem Cursor im Kopiermodus
copy_cursor_x Cursor-X-Position im Kopiermodus
copy_cursor_y Cursor-Y-Position im Kopiermodus
current_file Aktuelle Konfigurationsdatei
cursor_character Zeichen an der Cursorposition im Fenster
cursor_colour Cursorfarbe im Fenster
cursor_flag Fenster-Cursor-Flag
cursor_shape Cursorform im Fenster
cursor_very_visible 1, wenn sich der Cursor im sehr gut sichtbaren Modus befindet
cursor_x Cursor-X-Position
cursor_y Cursor-Y-Position
server_sessions Anzahl der Sitzungen
session_active 1, wenn die Sitzung aktiv ist
session_activity Zeit der letzten Sitzungsaktivität
session_activity_flag 1, wenn in einem Fenster der Sitzung Aktivität vorliegt
session_alerts Liste der Fensterindizes mit Warnmeldungen
session_attached Anzahl der Clients, die an die Sitzung angehängt sind
session_attached_list Liste der Clients, die an die Sitzung angehängt sind
session_bell_flag 1, wenn in einem Fenster der Sitzung ein akustisches Signal ausgegeben wurde
session_created Zeit, zu der die Sitzung erstellt wurde
session_format 1, wenn das Format für eine Sitzung ist
session_group Name der Sitzungsgruppe
session_group_attached Anzahl der Clients, die an die Sitzungen in der Gruppe angehängt sind
session_group_attached_list Liste der Clients, die an die Sitzungen in der Gruppe angehängt sind
session_group_list Liste der Sitzungen in der Gruppe
session_group_many_attached 1, wenn mehrere Clients an die Sitzungen in der Gruppe angehängt sind
session_group_size Größe der Sitzungsgruppe
session_grouped 1, wenn die Sitzung zu einer Gruppe gehört
session_id Eindeutige Sitzungs-ID
session_index Index der Sitzung
session_last_attached Zeit der letzten Anbindung an die Sitzung
session_many_attached 1, wenn mehrere Clients angehängt sind
session_marked 1, wenn diese Sitzung das markierte Fenster enthält
session_name Name der Sitzung
session_path Arbeitsverzeichnis der Sitzung
session_silence_flag 1, wenn in einem Fenster der Sitzung eine Stummschaltungs-Warnung vorliegt
session_stack Liste der Fensterindizes in der zuletzt verwendeten Reihenfolge
session_windows Anzahl der Fenster in der Sitzung
socket_path Server-Socket-Pfad
sixel_support 1, wenn der Server die SIXEL-Unterstützung bietet
start_time Serverstartzeit
uid Server-UID
user Server-Benutzer
version Serverversion
window_active 1, wenn das Fenster aktiv ist
window_active_clients Anzahl der Clients, die dieses Fenster anzeigen
window_active_clients_list Liste der Clients, die dieses Fenster anzeigen
window_active_sessions Anzahl der Sitzungen, in denen dieses Fenster aktiv ist
window_active_sessions_list Liste der Sitzungen, in denen dieses Fenster aktiv ist
window_activity Zeit der letzten Fensteraktivität
window_activity_flag 1, wenn im Fenster Aktivität vorliegt
window_bell_flag 1, wenn im Fenster ein akustisches Signal ausgegeben wurde
window_bigger 1, wenn das Fenster größer als der Client ist
window_cell_height Höhe jeder Zelle in Pixeln
window_cell_width Breite jeder Zelle in Pixeln
window_end_flag 1, wenn das Fenster den höchsten Index hat
window_flags Fenster-Flags mit `#` als `##` maskiert
window_format 1, wenn das Format für ein Fenster ist
window_height Höhe des Fensters
window_id Eindeutige Fenster-ID
window_index Index des Fensters
window_last_flag 1, wenn das Fenster das zuletzt verwendete Fenster ist
window_layout Fensterlayout-Beschreibung, wobei das gezoomte Fenster ignoriert wird
window_linked 1, wenn das Fenster über Sitzungen hinweg verknüpft ist
window_linked_sessions Anzahl der Sitzungen, mit denen dieses Fenster verknüpft ist
window_linked_sessions_list Liste der Sitzungen, mit denen dieses Fenster verknüpft ist
window_marked_flag 1, wenn das Fenster das markierte Fenster enthält
window_name Name des Fensters
window_offset_x X-Offset in das Fenster, wenn es größer als der Client ist
window_offset_y Y-Offset in das Fenster, wenn es größer als der Client ist
window_panes Anzahl der Fenster im Fenster
window_raw_flags Fenster-Flags, bei denen nichts maskiert wird
window_silence_flag 1, wenn im Fenster eine Stummschaltungs-Warnung vorliegt
window_stack_index Index in der zuletzt verwendeten Stapelreihenfolge der Sitzung
window_start_flag 1, wenn das Fenster den niedrigsten Index hat
window_visible_layout Fensterlayout-Beschreibung, wobei das gezoomte Fenster berücksichtigt wird
window_width Breite des Fensters
window_zoomed_flag 1, wenn das Fenster maximiert ist
wrap_flag Fenster-Wrap-Flag

STILE

tmux bietet verschiedene Optionen, um die Farbe und Attribute von Aspekten der Benutzeroberfläche anzugeben, zum Beispiel `status-style` für die Statusleiste. Darüber hinaus können eingebettete Stile in Formatierungsoptionen, wie z. B. `status-left`, angegeben werden, indem sie in ‚#[‘ und ‚]‘ eingeschlossen werden.

Ein Stil kann der einzelne Begriff ‚default‘ sein, um den Standardstil anzugeben (der von einer Option stammen kann, z. B. `status-style` in der Statusleiste), oder eine durch Leerzeichen oder Kommas getrennte Liste der folgenden Elemente:

`fg=farbe`
Setzt die Vordergrundfarbe. Die Farbe ist eine der folgenden: `schwarz`, `rot`, `grün`, `gelb`, `blau`,
`magenta`, `cyan`, `weiß`; falls unterstützt, auch die hellen Varianten `hellschwarz`, `hellrot`, ...;
`farbe0` bis `farbe255` aus dem 256-Farben-Set; `standard` für die Standardfarbe; `terminal` für die Standardfarbe des Terminals; oder ein hexadezimaler RGB-String, z. B. ‚#ffffff‘.

bg=farbe

Setzt die Hintergrundfarbe.

us=farbe

Setzt die Unterstrichfarbe.

none

Setzt keine Attribute (deaktiviert alle aktiven Attribute).

acs, fett (oder bold), blass, unterstrichen, blinkend, invertiert, ausgeblendet, kursiv, überstrichen, durchgestrichen,
doppelter Unterstrich, geschwungener Unterstrich, gepunkteter Unterstrich, gestrichelter Unterstrich

Setzt ein Attribut. Alle Attribute können mit „no“ versehen werden, um sie aufzuheben. acs ist das alternative Zeichensatz des Terminals.

align=links (oder noalign), align=mitte, align=rechts

Richtet den Text an der linken, mittleren oder rechten Seite des verfügbaren Bereichs aus, falls dies angemessen ist.

fill=farbe

Füllt den verfügbaren Bereich mit einer Hintergrundfarbe, falls dies angemessen ist.

list=ein, list=fokus, list=linker-marker, list=rechter-marker, keine-liste

Markiert die Position der verschiedenen Komponenten der Fensterliste in der Option status-format: list=ein markiert den Anfang der Liste; list=fokus ist der Teil der Liste, der im Fokus bleiben soll, wenn die gesamte Liste nicht in den verfügbaren Bereich passt (typischerweise das aktuelle Fenster); list=linker-marker und list=rechter-marker markieren den Text, der verwendet werden soll, um anzuzeigen, dass Text von links oder rechts der Liste abgeschnitten wurde, wenn nicht genügend Platz vorhanden ist.

noattr

Kopiert keine Attribute aus dem Standardstil.

push-default, pop-default

Speichert die aktuellen Farben und Attribute als Standard oder setzt sie auf den vorherigen Standard zurück. Ein push-default wirkt sich auf jede nachfolgende Verwendung des Standardterminals aus, bis ein pop-default erfolgt. Es kann jeweils nur ein Standard gespeichert werden (jeder push-default ersetzt den vorherigen gespeicherten Standard).

range=links, range=rechts, range=session|X, range=fenster|X, range=bereich|X, range=benutzer|X, no-range

Markiert einen Bereich für Mausereignisse in der Option status-format. Wenn ein Mausereignis in dem Bereich range=links oder range=rechts auftritt, werden die Schlüsselbindungen StatusLeft und StatusRight ausgelöst.

`range=session|X`, `range=fenster|X` und `range=bereich|X` sind Bereiche für eine Sitzung, ein Fenster oder einen Bereich. Diese lösen die `Status`-Maus-Schlüsselbindung aus, wobei die Ziel-Sitzung, das Ziel-Fenster oder der Ziel-Bereich durch das Argument `X` angegeben wird. `X` ist eine Sitzungs-ID, ein Fensterindex in der aktuellen Sitzung oder eine Bereichs-ID. Für diese wird die Formatvariable `mouse_status_range` auf `session`, `fenster` oder `bereich` gesetzt.

`range=benutzer|X` ist ein benutzerdefinierter Bereich; er löst die `Status`-Maus-Schlüsselbindung aus. Das Argument `X` steht in der Formatvariable `mouse_status_range` zur Verfügung. `X` darf maximal 15 Bytes lang sein.

set-default

Setzt die aktuellen Farben und Attribute als Standard, wodurch ein vorheriger Standard überschrieben wird. Der vorherige Standard kann nicht wiederhergestellt werden.

Beispiele sind:

fg=gelb fett unterstrichen blinkend
bg=schwarz,fg=standard,no-reverse

NAMEN UND TITEL

tmux unterscheidet zwischen Namen und Titeln. Fenster und Sitzungen haben Namen, die verwendet werden können, um sie in Zielen anzugeben und die in der Statusleiste und verschiedenen Listen angezeigt werden: der Name ist die tmux-Kennung für ein Fenster oder eine Sitzung. Nur Bereiche haben Titel. Der Titel eines Bereichs wird typischerweise durch das Programm festgelegt, das in dem Bereich ausgeführt wird, unter Verwendung einer Escape-Sequenz (wie es den xterm(1)-Fenstertitel in X(7) setzen würde). Fenster selbst haben keine Titel – der Titel eines Fensters ist der Titel seines aktiven Bereichs. tmux selbst kann den Titel des Terminals festlegen, in dem der Client ausgeführt wird; siehe die Option set-titles.


Der Name einer Sitzung wird mit den Befehlen `new-session` und `rename-session` festgelegt. Der Name eines Fensters wird mit einem der folgenden Befehle festgelegt:

Ein Befehlsargument (z. B. `-n` für `new-window` oder `new-session`).

         Eine Escape-Sequenz (wenn die Option `allow-rename` aktiviert ist):

$ printf '\033kWINDOW_NAME\033\\'

         Automatisches Umbenennen, das den Namen auf den aktiven Befehl im aktiven Bereich des Fensters setzt. Siehe die Option `automatic-rename`.

Wenn ein Bereich zum ersten Mal erstellt wird, ist sein Titel der Hostname. Der Titel eines Bereichs kann über die Escape-Sequenz title festgelegt werden, zum Beispiel:

$ printf '\033]2;My Title\033\\'

Er kann auch mit dem Befehl select-pane -T geändert werden.

GLOBALE UND SITZUNGSUMGEBUNG

Wenn der Server gestartet wird, kopiert tmux die Umgebung in die globale Umgebung; außerdem verfügt jede Sitzung über eine Sitzungsumgebung. Wenn ein Fenster erstellt wird, werden die Sitzungs- und globale Umgebung zusammengeführt. Wenn eine Variable in beiden Umgebungen vorhanden ist, wird der Wert aus der Sitzungsumgebung verwendet. Das Ergebnis ist die anfängliche Umgebung, die an den neuen Prozess übergeben wird.

Die Sitzungsoption update-environment kann verwendet werden, um die Sitzungsumgebung von der Clientseite aus zu aktualisieren, wenn eine neue Sitzung erstellt oder eine alte Sitzung wiederhergestellt wird. Tmux initialisiert auch die Variable TMUX mit einigen internen Informationen, damit Befehle von innerhalb aus ausgeführt werden können, und die Variable TERM mit der korrekten Terminaleinstellung von screen.

Variablen in sowohl der Sitzungs- als auch der globalen Umgebung können als ausgeblendet gekennzeichnet werden. Ausgeblendete Variablen werden nicht in die Umgebung neuer Prozesse übernommen und können stattdessen nur von tmux selbst verwendet werden (z. B. in Formaten, siehe den Abschnitt „FORMATS“).

Befehle zum Ändern und Anzeigen der Umgebung sind:

set-environment [-Fhgru] [-t target-session] variable [value]
(Alias: setenv)
Legt eine Umgebungsvariable fest oder setzt sie zurück. Wenn `-g` verwendet wird, erfolgt die Änderung in der globalen Umgebung; andernfalls wird sie auf die Sitzungsumgebung für `target-session` angewendet. Wenn `-F` vorhanden ist, wird `value` als Format erweitert. Die Option `-u` setzt eine Variable zurück. `-r` gibt an, dass die Variable vor dem Starten eines neuen Prozesses aus der Umgebung entfernt werden soll. `-h` kennzeichnet die Variable als ausgeblendet.

show-environment [-hgs] [-t target-session] [variable]
(Alias: showenv)
Zeigt die Umgebung für `target-session` oder die globale Umgebung mit `-g` an. Wenn `variable` weggelassen wird, werden alle Variablen angezeigt. Variablen, die aus der Umgebung entfernt wurden, werden mit einem `-` präfixiert. Wenn `-s` verwendet wird, wird die Ausgabe als eine Reihe von Bourne-Shell-Befehlen formatiert. `-h` zeigt ausgeblendete Variablen an (standardmäßig ausgeblendet).

STATUSLEISTE

tmux enthält eine optionale Statusleiste, die in der untersten Zeile jedes Terminals angezeigt wird.

Standardmäßig ist die Statusleiste aktiviert und eine Zeile hoch (sie kann deaktiviert oder zu mehreren Zeilen gemacht werden, indem die Sitzungsoption status verwendet wird) und enthält von links nach rechts: den Namen der aktuellen Sitzung in eckigen Klammern; die Fensterliste; den Titel des aktiven Fensters in doppelten Anführungszeichen; und die Uhrzeit und das Datum.

Jede Zeile der Statusleiste wird mit der Option status-format konfiguriert. Die Standardeinstellung besteht aus drei Teilen: konfigurierbare linke und rechte Abschnitte (die dynamische Inhalte wie die Uhrzeit oder die Ausgabe eines Shell-Befehls enthalten können, siehe die Optionen status-left, status-left-length, status-right und status-right-length unten) und eine zentrale Fensterliste. Standardmäßig zeigt die Fensterliste den Index, den Namen und (falls vorhanden) das Flag der in der aktuellen Sitzung vorhandenen Fenster in aufsteigender numerischer Reihenfolge. Sie kann mit den Optionen window-status-format und window-status-current-format angepasst werden. Das Flag ist eines der folgenden Symbole, die an den Fensternamen angehängt werden:

Symbol    Bedeutung
*         Bezeichnet das aktuelle Fenster.
-         Markiert das letzte Fenster (vorher ausgewählt).
#         Die Fensteraktivität wird überwacht und es wurde eine Aktivität im Fenster festgestellt.
!         Fensterglockensignale werden überwacht und es ist ein Glockensignal im Fenster aufgetreten.
~         Das Fenster war für den Zeitraum `monitor-silence` inaktiv.
M         Das Fenster enthält das markierte Fenster.
Z         Das aktive Fenster des Fensters ist vergrößert.

Das Symbol # bezieht sich auf die Option monitor-activity des Fensters. Der Fenstername wird in invertierten Farben angezeigt, wenn ein Alarm (Glockensignal, Aktivität oder Stille) vorhanden ist.

Die Farbe und die Attribute der Statusleiste können konfiguriert werden, entweder die gesamte Statusleiste mithilfe der Option status-style der Sitzung oder einzelne Fenster mithilfe der Option window-status-style des Fensters.

Die Statusleiste wird automatisch in einem bestimmten Intervall aktualisiert, wenn sie sich geändert hat. Das Intervall kann mit der Option status-interval der Sitzung gesteuert werden.

Die folgenden Befehle beziehen sich auf die Statusleiste:

clear-prompt-history [-T prompt-type]
(Alias: clearphist)

Löscht den Status der Prompt-Historie für den Prompt-Typ prompt-type. Wenn -T weggelassen wird, wird die Historie für alle Typen gelöscht. Siehe command-prompt für mögliche Werte für prompt-type.

command-prompt [-1bFiklN] [-I inputs] [-p prompts] [-t target-client] [-T prompt-type] [template]

Öffnet die Befehlszeile in einem Client. Dies kann von innerhalb von tmux aus verwendet werden, um Befehle interaktiv auszuführen.

Wenn template angegeben wird, wird es als Befehl verwendet. Mit -F wird template als Format erweitert.

Wenn -I vorhanden ist, ist inputs eine durch Kommas getrennte Liste der anfänglichen Texte für jeden Prompt. Wenn -p angegeben ist, ist prompts eine durch Kommas getrennte Liste von Prompts, die in der angegebenen Reihenfolge angezeigt werden; andernfalls wird ein einzelner Prompt angezeigt, der entweder aus template (falls vorhanden) oder aus : besteht. -l deaktiviert das Aufteilen von Eingaben und Prompts an Kommas und behandelt sie wörtlich.


Vor der Ausführung des Befehls wird das erste Vorkommnis der Zeichenfolge „%%“ und alle Vorkommnisse von „%1“ durch die Antwort auf die erste Eingabeaufforderung ersetzt, alle „%2“ werden durch die Antwort auf die zweite Eingabeaufforderung ersetzt und so weiter für weitere Eingabeaufforderungen. Bis zu neun Eingabeaufforderungsantworten können ersetzt werden („%1“ bis „%9“). „%%%“ ist wie „%%“, aber alle Anführungszeichen werden maskiert.

-1 bewirkt, dass die Eingabeaufforderung nur eine einzelne Tasteneingabe akzeptiert, in diesem Fall ist die resultierende Eingabe ein einzelnes Zeichen. -k ist wie -1, aber die Tasteneingabe wird in einen Tastenamen umgewandelt. -N bewirkt, dass die Eingabeaufforderung nur numerische Tasteneingaben akzeptiert. -i führt den Befehl jedes Mal aus, wenn sich die Eingabe der Eingabeaufforderung ändert, anstatt wenn der Benutzer die Eingabeaufforderung verlässt.

-T teilt tmux den Eingabeaufforderungstyp mit. Dies beeinflusst, welche Vervollständigungen beim Drücken von Tab angeboten werden. Verfügbare Typen sind: „command“, „search“, „target“ und „window-target“.

Die folgenden Tasten haben eine spezielle Bedeutung in der Befehlszeile, abhängig vom Wert der Option status-keys:

Funktion                             vi        emacs
Eingabeaufforderung abbrechen                q         Escape
Vom Cursor bis zum Anfang des Wortes löschen            C-w
Gesamten Befehl löschen                d         C-u
Vom Cursor bis zum Ende löschen            D         C-k
Befehl ausführen                      Enter     Enter
Nächsten Befehl aus dem Verlauf abrufen                  Down
Vorherigen Befehl aus dem Verlauf abrufen              Up
Oberen Zwischenspeicher einfügen              p         C-y
Nach Vervollständigungen suchen                 Tab       Tab
Cursor nach links bewegen                     h         Left
Cursor nach rechts bewegen                    l         Right
Cursor ans Ende bewegen                   $         C-e
Cursor zum nächsten Wort bewegen             w         M-f
Cursor zum vorherigen Wort bewegen         b         M-b
Cursor zum Anfang bewegen                 0         C-a
Zeichen transponieren                           C-t

Mit -b wird die Eingabeaufforderung im Hintergrund angezeigt und der aufrufende Client wird erst dann beendet, wenn sie geschlossen wird.

confirm-before [-by] [-c confirm-key] [-p prompt] [-t target-client] command
(Alias: confirm)

Fordert vor der Ausführung des Befehls eine Bestätigung an. Wenn -p angegeben wird, ist prompt die anzuzeigende Eingabeaufforderung; andernfalls wird eine Eingabeaufforderung aus dem Befehl erstellt. Sie kann die speziellen Zeichenfolgen enthalten, die von der Option status-left unterstützt werden. Mit -b wird die Eingabeaufforderung im Hintergrund angezeigt und der aufrufende Client wird erst dann beendet, wenn sie geschlossen wird. -y ändert das Standardverhalten der Eingabeaufforderung (wenn nur die Eingabetaste gedrückt wird) so, dass der Befehl ausgeführt wird. -c ändert die Bestätigungstaste in confirm-key; der Standard ist „y“.

display-menu [-OM] [-b border-lines] [-c target-client] [-C starting-choice] [-H selected-style]
[-s style] [-S border-style] [-t target-pane] [-T title] [-x position] [-y position] name
key command [name key command ...]
(Alias: menu)

Zeigt ein Menü im Ziel-Client an. target-pane gibt das Ziel für alle Befehle an, die aus dem Menü ausgeführt werden.


Ein Menü wird als eine Reihe von Argumenten übergeben: zuerst der Name des Menüpunkts, zweitens die Tastenkombination (oder leer für keine) und drittens der Befehl, der ausgeführt werden soll, wenn der Menüpunkt ausgewählt wird. Der Name und der Befehl sind formatiert, siehe die Abschnitte „FORMATS“ und „STYLES“. Wenn der Name mit einem Bindestrich (-) beginnt, ist der Punkt deaktiviert (wird gedimmt dargestellt) und kann nicht ausgewählt werden. Der Name kann leer sein, um eine Trennlinie anzuzeigen, in diesem Fall sollten sowohl die Tastenkombination als auch der Befehl weggelassen werden.

-b setzt den Typ der Zeichen, die zum Zeichnen von Menürahmen verwendet werden. Siehe popup-border-lines für mögliche Werte für border-lines.

-H setzt den Stil für den ausgewählten Menüpunkt (siehe „STYLES“).

-s setzt den Stil für das Menü und -S setzt den Stil für den Menürahmen (siehe „STYLES“).

-T ist ein Format für den Menütitel (siehe „FORMATS“).

-C setzt den standardmäßig ausgewählten Menüpunkt, wenn das Menü nicht an eine Maus-Tastenkombination gebunden ist.

-x und -y geben die Position des Menüs an. Beide können eine Zeilen- oder Spaltennummer sein, oder einer der folgenden speziellen Werte:

Wert    Flag    Bedeutung
C        Beide    Die Mitte des Terminals
R        -x      Die rechte Seite des Terminals
P        Beide    Die untere linke Ecke des Fensters
M        Beide    Die Mausposition
W        Beide    Die Fensterposition in der Statusleiste
S        -y      Die Zeile ober- oder unterhalb der Statusleiste

Oder ein Format, das die folgenden zusätzlichen Variablen enthält:

Variablenname Wird ersetzt durch

popup_centre_x                Zentriert im Client
popup_centre_y                Zentriert im Client
popup_height                  Höhe des Menüs oder Popups
popup_mouse_bottom            Unterhalb an der Maus
popup_mouse_centre_x          Horizontal zentriert an der Maus
popup_mouse_centre_y          Vertikal zentriert an der Maus
popup_mouse_top               Oberhalb an der Maus
popup_mouse_x                 Maus-X-Position
popup_mouse_y                 Maus-Y-Position
popup_pane_bottom             Unterhalb des Fensters
popup_pane_left               Links vom Fenster
popup_pane_right              Rechts vom Fenster
popup_pane_top                Oberhalb des Fensters
popup_status_line_y           Ober- oder unterhalb der Statusleiste
popup_width                   Breite des Menüs oder Popups
popup_window_status_line_x    An der Fensterposition in der Statusleiste
popup_window_status_line_y    An der Statusleiste, die das Fenster anzeigt

Jedes Menü besteht aus Elementen, gefolgt von einer Tastenkombination in Klammern. Wenn das Menü zu groß ist, um auf dem Terminal angezeigt zu werden, wird es nicht angezeigt. Durch Drücken der Tastenkombination wird das entsprechende Element ausgewählt. Wenn die Maus aktiviert ist und das Menü aus einer Maus-Tastenkombination geöffnet wurde, wählt das Loslassen der Maustaste mit einem ausgewählten Element dieses Element aus, und das Loslassen der Maustaste ohne ein ausgewähltes Element schließt das Menü. -O ändert dieses Verhalten, sodass das Menü nicht geschlossen wird, wenn die Maustaste ohne ein ausgewähltes Element losgelassen wird; stattdessen muss ein Mausklick erfolgen, um ein Element auszuwählen.


-M teilt tmux mit, dass das Menü Mausereignisse verarbeiten soll; standardmäßig gilt dies nur für Menüs, die über Maustastenkombinationen geöffnet werden.

Die folgenden Tasten sind in Menüs verfügbar:

Taste Funktion
Enter Wählt den ausgewählten Eintrag aus
Hoch Wählt den vorherigen Eintrag aus
Runter Wählt den nächsten Eintrag aus
q Beendet das Menü

display-message [-aCIlNpv] [-c Ziel-Client] [-d Verzögerung] [-t Ziel-Bereich] [Nachricht]
(Alias: display)

Zeigt eine Nachricht an. Wenn -p angegeben ist, wird die Ausgabe nach stdout ausgegeben, andernfalls wird sie für bis zu [Verzögerung] Millisekunden in der Statusleiste des Ziel-Clients angezeigt. Wenn [Verzögerung] nicht angegeben ist, wird die Option [Anzeigedauer] verwendet; eine Verzögerung von Null wartet auf eine Tasteneingabe. ‚N‘ ignoriert Tasteneingaben und schließt nur, wenn die Verzögerung abgelaufen ist. Wenn -C angegeben ist, wird der Bereich weiterhin aktualisiert, während die Nachricht angezeigt wird. Wenn -l angegeben ist, wird die Nachricht unverändert ausgegeben. Andernfalls wird das Format der Nachricht im Abschnitt „FORMATS“ beschrieben; Informationen werden aus dem Ziel-Bereich entnommen, wenn -t angegeben ist, andernfalls aus dem aktiven Bereich.

-v gibt ausführliche Protokollmeldungen aus, während das Format analysiert wird, und -a listet die Formatvariablen und ihre Werte auf.

-I leitet alle von stdin gelesenen Eingaben an den leeren Bereich weiter, der durch [Ziel-Bereich] angegeben wird.

display-popup [-BCEkN] [-b Rahmenlinien] [-c Ziel-Client] [-d Startverzeichnis] [-e Umgebung]
[-h Höhe] [-s Stil] [-S Rahmenstil] [-t Ziel-Bereich] [-T Titel] [-w Breite] [-x Position] [-y Position] [Shell-Befehl [Argument ...]]
(Alias: popup)

Zeigt ein Popup mit dem auszuführenden Shell-Befehl (oder standardmäßig [Standard-Befehl]) im [Ziel-Client] an. Ein Popup ist ein rechteckiger Kasten, der über die Bereiche gezeichnet wird. Bereiche werden nicht aktualisiert, solange ein Popup vorhanden ist. Wenn der Befehl innerhalb eines vorhandenen Popups ausgeführt wird, wird dieses Popup geändert. Es werden nur die Optionen -b, -B, -C, -E, -EE, -K, -N, -s und -S in diesem Fall akzeptiert; alle anderen werden ignoriert.

-E schließt das Popup automatisch, wenn der Shell-Befehl beendet wird. Zwei -E schließen das Popup nur, wenn der Shell-Befehl erfolgreich beendet wurde. -k ermöglicht es, dass ein beliebiger Tastendruck das Popup schließt, anstatt nur „Esc“ oder „Strg+c“

-x und -y geben die Position des Popups an; sie haben die gleiche Bedeutung wie für den Befehl [display-menu]. -w und -h geben die Breite und Höhe an – beides können Prozentsätze sein (gefolgt von „%“). Wenn sie weggelassen werden, wird die Hälfte der Terminalgröße verwendet.

-B umgibt das Popup nicht mit einem Rahmen.

-b setzt den Typ der zum Zeichnen von Popup-Rahmen verwendeten Zeichen. Wenn -B angegeben ist, wird die Option -b ignoriert. Siehe [Popup-Rahmenlinien] für mögliche Werte für [Rahmenlinien].

-s setzt den Stil für das Popup und -S setzt den Stil für den Popup-Rahmen (siehe „STILE“).

-e hat die Form „VARIABLE=Wert“ und setzt eine Umgebungsvariable für das Popup; es kann mehrmals angegeben werden.

-T ist ein Format für den Titel des Popups (siehe „FORMATE“).

Die -C-Option schließt alle Popups auf dem Client.

-N deaktiviert alle zuvor angegebenen -E-, -EE- oder -k-Optionen.

show-prompt-history [-T prompt-type]
(Alias: showphist)

Zeigt den Status-Prompt-Verlauf für den Prompt-Typ prompt-type an. Wenn -T weggelassen wird, wird der Verlauf für alle Typen angezeigt. Siehe command-prompt für mögliche Werte für prompt-type.

PUFFER

tmux verwaltet eine Reihe benannter Zwischenspeicher. Jeder Puffer kann entweder explizit oder automatisch benannt werden. Explizit benannte Puffer werden benannt, wenn sie mit den Befehlen set-buffer oder load-buffer erstellt werden oder indem ein automatisch benannter Puffer mit set-buffer -n umbenannt wird. Automatisch benannte Puffer erhalten einen Namen wie „buffer0001“, „buffer0002“ usw. Wenn die Option buffer-limit erreicht ist, wird der älteste automatisch benannte Puffer gelöscht. Explizit benannte Puffer unterliegen nicht der Option buffer-limit und können mit dem Befehl delete-buffer gelöscht werden.

Puffer können mit copy-mode oder den Befehlen set-buffer und load-buffer hinzugefügt und mit dem Befehl paste-buffer in ein Fenster eingefügt werden. Wenn ein Pufferbefehl verwendet wird und kein Puffer angegeben ist, wird der zuletzt hinzugefügte automatisch benannte Puffer angenommen.

Ein konfigurierbarer Verlaufspuffer wird außerdem für jedes Fenster beibehalten. Standardmäßig werden bis zu 2000 Zeilen gespeichert; dies kann mit der Option history-limit geändert werden (siehe den Befehl set-option oben).

Die Pufferbefehle sind wie folgt:

choose-buffer [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]

Setzt ein Fenster in den Puffermodus, in dem ein Puffer interaktiv aus einer Liste ausgewählt werden kann. Jeder Puffer wird in einer Zeile angezeigt. Eine Tastenkombination wird links in Klammern angezeigt, um eine sofortige Auswahl zu ermöglichen, oder die Liste kann durchsucht und ein Element ausgewählt oder anderweitig manipuliert werden, indem die unten stehenden Tasten verwendet werden. -Z vergrößert das Fenster. -y deaktiviert alle Bestätigungsaufforderungen. Die folgenden Tasten können im Puffermodus verwendet werden:

Taste Funktion
Enter Fügt den ausgewählten Puffer ein
Hoch Wählt den vorherigen Puffer aus
Runter Wählt den nächsten Puffer aus
C-s Sucht nach Name oder Inhalt
n Wiederholt die letzte Suche vorwärts
N Wiederholt die letzte Suche rückwärts
t Schaltet um, ob der Puffer markiert ist
T Markiert keine Puffer
C-t Markiert alle Puffer
p Fügt den ausgewählten Puffer ein
P Fügt die markierten Puffer ein
d Löscht den ausgewählten Puffer
D Löscht die markierten Puffer
e Öffnet den Puffer in einem Editor
f Gibt ein Format ein, um Elemente zu filtern
O Ändert das Sortierfeld
r Kehrt die Sortierreihenfolge um
v Schaltet die Vorschau ein/aus
q Beendet den Modus

Nachdem ein Puffer ausgewählt wurde, wird „%%“ durch den Puffernamen in der Vorlage ersetzt, und das Ergebnis wird als Befehl ausgeführt. Wenn keine Vorlage angegeben ist, wird „paste-buffer -p -b ‚%%‘“ verwendet.

-O gibt das anfängliche Sortierfeld an: entweder „time“ (Erstellungszeit), „name“ oder „size“. -r kehrt die Sortierreihenfolge um. -f gibt einen anfänglichen Filter an: der Filter ist ein Format – wenn er zu Null ausgewertet wird, wird das Element in der Liste nicht angezeigt, andernfalls wird es angezeigt. Wenn ein Filter zu einer leeren Liste führen würde, wird er ignoriert. -F gibt das Format für jedes Element in der Liste an, und -K ein Format für jede Tastenkombination; beide werden einmal für jede Zeile ausgewertet. -N startet ohne Vorschau. Dieser Befehl funktioniert nur, wenn mindestens ein Client verbunden ist.

clear-history [-H] [-t Ziel-Pane]
(Alias: clearhist)

Entfernt und löscht den Verlauf für das angegebene Pane. Mit -H werden auch alle Hyperlinks entfernt.

delete-buffer [-b Puffer-Name]
(Alias: deleteb)

Löscht den Puffer mit dem Namen Puffer-Name oder den zuletzt hinzugefügten, automatisch benannten Puffer, falls kein Name angegeben ist.

list-buffers [-F Format] [-f Filter]
(Alias: lsb)

Listet die globalen Puffer auf. -F gibt das Format jeder Zeile an und -f einen Filter. Es werden nur die Puffer angezeigt, für die der Filter zutrifft. Siehe den Abschnitt „FORMATE“.

load-buffer [-w] [-b Puffer-Name] [-t Ziel-Client] Pfad
(Alias: loadb)

Lädt den Inhalt des angegebenen Paste-Puffers aus dem Pfad. Wenn -w angegeben ist, wird der Puffer auch an die Zwischenablage für den Ziel-Client mit der xterm(1)-Escape-Sequenz gesendet, falls möglich. Wenn der Pfad '-' ist, wird der Inhalt aus der Standardeingabe gelesen.

paste-buffer [-dpr] [-b Puffer-Name] [-s Trennzeichen] [-t Ziel-Pane]
(Alias: pasteb)

Fügt den Inhalt eines Paste-Puffers in das angegebene Pane ein. Wenn kein Pane angegeben ist, wird in das aktuelle Pane eingefügt. Mit -d wird der Paste-Puffer ebenfalls gelöscht. Bei der Ausgabe werden alle Zeilenumbruchzeichen (LF) im Paste-Puffer durch ein Trennzeichen ersetzt, standardmäßig ein Wagenrücklauf (CR). Ein benutzerdefiniertes Trennzeichen kann mit dem Flag -s angegeben werden. Das Flag -r bedeutet, dass keine Ersetzung vorgenommen wird (entspricht einem Trennzeichen von LF). Wenn -p angegeben ist, werden Klammer-Steuerzeichen um den Puffer eingefügt, falls die Anwendung den Bracketed-Paste-Modus angefordert hat.

save-buffer [-a] [-b Puffer-Name] Pfad
(Alias: saveb)

Speichert den Inhalt des angegebenen Paste-Puffers in dem Pfad. Die Option -a fügt an die Datei an, anstatt sie zu überschreiben. Wenn der Pfad '-' ist, wird der Inhalt in die Standardausgabe geschrieben.

set-buffer [-aw] [-b Puffer-Name] [-t Ziel-Client] [-n Neuer-Puffer-Name] Daten
(Alias: setb)

Setzt den Inhalt des angegebenen Puffers auf Daten. Wenn -w angegeben ist, wird der Puffer auch an die Zwischenablage für den Ziel-Client mit der xterm(1)-Escape-Sequenz gesendet, falls möglich. Die Option -a fügt an den Puffer an, anstatt ihn zu überschreiben. Mit der Option -n wird der Puffer in Neuer-Puffer-Name umbenannt.

show-buffer [-b Puffer-Name]
(Alias: showb)

Zeigt den Inhalt des angegebenen Puffers an.

VERSCHIEDENES

Verschiedene Befehle sind wie folgt:

clock-mode [-t Ziel-Pane]

Zeigt eine große Uhr an.

if-shell [-bF] [-t Ziel-Pane] Shell-Befehl Befehl [Befehl]
(Alias: if)

Führt den ersten Befehl aus, wenn Shell-Befehl (ausgeführt mit /bin/sh) erfolgreich ist, oder den zweiten Befehl, falls nicht. Bevor er ausgeführt wird, wird Shell-Befehl unter Verwendung der in dem Abschnitt „FORMATE“ angegebenen Regeln erweitert, einschließlich derjenigen, die für Ziel-Pane relevant sind. Mit -b wird Shell-Befehl im Hintergrund ausgeführt.


Wenn -F angegeben wird, wird der Shell-Befehl nicht ausgeführt, aber als erfolgreich betrachtet, wenn er weder leer noch Null ist (nachdem die Formate erweitert wurden).

lock-server
(Alias: lock)

Sperrt jeden Client einzeln, indem der durch die Option lock-command angegebene Befehl ausgeführt wird.

run-shell [-bCE] [-c start-directory] [-d delay] [-t target-pane] [shell-command]
(Alias: run)

Führt den Shell-Befehl mit /bin/sh oder (mit -C) als Tmux-Befehl im Hintergrund aus, ohne ein neues Fenster zu erstellen. Bevor der Shell-Befehl ausgeführt wird, wird er unter Verwendung der in der Sektion „FORMATS“ beschriebenen Regeln erweitert. Mit -b wird der Befehl im Hintergrund ausgeführt. -d wartet delay Sekunden, bevor der Befehl gestartet wird. -E leitet die Standardfehlerausgabe des Befehls an die Standardausgabe um, anstatt sie zu ignorieren. Wenn -c angegeben wird, wird das aktuelle Arbeitsverzeichnis auf start-directory gesetzt. Wenn -C nicht angegeben wird, wird jede Ausgabe auf die Standardausgabe im Anzeigemodus (im durch -t angegebenen oder im aktuellen Bereich, falls nicht angegeben) angezeigt, nachdem der Befehl abgeschlossen ist. Wenn der Befehl fehlschlägt, wird auch sein Exit-Status angezeigt.

wait-for [-L | -S | -U] channel
(Alias: wait)

Wenn ohne Optionen verwendet, verhindert dies, dass der Client beendet wird, bis er mit wait-for -S mit demselben Kanal wieder aufgeweckt wird. Wenn -L verwendet wird, wird der Kanal gesperrt, und alle Clients, die versuchen, denselben Kanal zu sperren, werden so lange warten, bis der Kanal mit wait-for -U entsperrt wird.

EXIT-MELDUNGEN

Wenn ein Tmux-Client sich trennt, wird eine Nachricht ausgegeben. Dies kann eine der folgenden sein:

detached (from session ...)

Der Client wurde normal getrennt.

detached and SIGHUP

Der Client wurde getrennt, und sein übergeordnetes Element hat das SIGHUP-Signal gesendet (z. B. mit detach-client -P).

lost tty

Das tty(4)- oder pty(4)-Gerät des Clients wurde unerwartet zerstört.

terminated

Der Client wurde mit SIGTERM beendet.

too far behind

Der Client befindet sich im Steuerungmodus und konnte nicht mehr mit den Daten von Tmux Schritt halten.

exited

Der Server wurde beendet, als er keine Sitzungen mehr hatte.

server exited

Der Server wurde beendet, nachdem er SIGTERM empfangen hatte.

server exited unexpectedly

Der Server ist abgestürzt oder auf andere Weise beendet worden, ohne dem Client den Grund mitzuteilen.

TERMINFO-ERWEITERUNGEN

Tmux versteht einige inoffizielle Erweiterungen für terminfo(5). Es ist normalerweise nicht erforderlich, diese manuell festzulegen. Stattdessen sollte die Option `terminal-features` verwendet werden.

AX

Eine vorhandene Erweiterung, die Tmux mitteilt, dass das Terminal Standardfarben unterstützt.

Bidi

Teilt Tmux mit, dass das Terminal die VTE-Erweiterungen für bidirektionalen Text unterstützt.

Cs, Cr

Legt die Cursorfarbe fest. Das erste Argument ist eine einzelne Zeichenkette und wird verwendet, um die Farbe festzulegen; das zweite Argument nimmt keine Argumente entgegen und stellt die Standard-Cursorfarbe wieder her. Wenn dies festgelegt ist, kann eine Sequenz wie die folgende verwendet werden, um die Cursorfarbe innerhalb von Tmux zu ändern:


$ printf '\033]12;red\033\\'

Die Farbe ist eine X(7)-Farbe, siehe XParseColor(3).

Cmg, Clmg, Dsmg, Enmg

Setzt, löscht, deaktiviert oder aktiviert DECSLRM-Margen. Diese werden automatisch gesetzt, wenn das Terminal als VT420-kompatibel gemeldet wird.

Dsbp, Enbp

Deaktiviert und aktiviert das eingefügte Kopieren in Klammern. Diese werden automatisch gesetzt, wenn die XT-Funktion vorhanden ist.

Dseks, Eneks

Deaktiviert und aktiviert erweiterte Tasten.

Dsfcs, Enfcs

Deaktiviert und aktiviert die Fokusberichterstattung. Diese werden automatisch gesetzt, wenn die XT-Funktion vorhanden ist.

Hls

Setzt oder löscht eine Hyperlink-Annotation.

Nobr

Teilt tmux mit, dass das Terminal keine hellen Farben für die Darstellung in Fettschrift verwendet.

Rect

Teilt tmux mit, dass das Terminal Rechtecksoperationen unterstützt.

Smol

Aktiviert das Attribut „Überstrich“.

Smulx

Setzt eine gestylte Unterstreichung. Der einzelne Parameter ist einer von: 0 für keine Unterstreichung, 1 für normale Unterstreichung, 2 für doppelte Unterstreichung, 3 für geschweifte Unterstreichung, 4 für gestrichelte Unterstreichung und 5 für gepunktete Unterstreichung.

Setulc, Setulc1, ol

Setzt die Unterstreichungsfarbe oder setzt sie auf die Standardeinstellung zurück. Setulc ist für RGB-Farben und Setulc1 für ANSI- oder 256-Farben. Das Argument Setulc ist (rot * 65536) + (grün * 256) + blau, wobei jeder Wert zwischen 0 und 255 liegt.

Ss, Se

Setzt oder setzt den Cursorstil zurück. Wenn gesetzt, kann eine Sequenz wie diese verwendet werden, um den Cursor in eine Unterstreichung zu ändern:

$ printf '\033[4 q'

Wenn Se nicht gesetzt ist, wird Ss mit dem Argument 0 verwendet, um den Cursorstil zurückzusetzen.

Swd

Setzt die Anfangssequenz für die Benachrichtigung über das Arbeitsverzeichnis. Die Sequenz wird mithilfe der Standard-fsl-Funktion beendet.

Sxl

Gibt an, dass das Terminal SIXEL unterstützt.

Sync

Startet (Parameter ist 1) oder beendet (Parameter ist 2) ein synchronisiertes Update.

Tc

Gibt an, dass das Terminal die „direkte Farb“-RGB-Escape-Sequenz unterstützt (z. B. \e[38;2;255;255;255m).

Wenn dies unterstützt wird, wird es für die Initialisierungsfarb-Escape-Sequenz verwendet (die durch Hinzufügen der Funktionen „initc“ und „ccc“ zum tmux-Terminfo(5)-Eintrag aktiviert werden kann).

Dies entspricht der RGB-Terminfo(5)-Funktion.

Ms

Speichert den aktuellen Puffer im Auswahlbereich (der Zwischenablage) des Hostterminals. Siehe die Option „set-clipboard“ oben und die xterm(1)-Manpage.

XT Dies ist eine vorhandene Erweiterungsfunktion, die tmux verwendet, um anzugeben, dass das Terminal die Titel-Set-Sequenzen von xterm(1) unterstützt und um einige der oben genannten Funktionen automatisch zu setzen.

KONTROLLMODUS

tmux bietet eine textbasierte Schnittstelle namens Kontrollmodus. Damit können Anwendungen über ein einfaches Textprotokoll mit tmux kommunizieren.

Im Kontrollmodus sendet ein Client tmux-Befehle oder Befehlssequenzen, die durch Zeilenumbrüche auf der Standardeingabe abgeschlossen sind. Jeder Befehl erzeugt eine Ausgabe in einem Block auf der Standardausgabe. Ein Ausgabeblock besteht aus einer %begin-Zeile, gefolgt von der Ausgabe (die leer sein kann). Der Ausgabeblock endet mit %end oder %error. %begin und das übereinstimmende %end oder %error haben drei Argumente: eine Ganzzahl, die die Zeit in Sekunden seit der Epoche darstellt, eine Befehlsnummer und Flags (derzeit nicht verwendet). Zum Beispiel:


%begin 1363006971 2 1
0 ksh* (1 Pane) [80x24] [Layout b25f,80x24,0,0,2] @2 (aktiv)
%end 1363006971 2 1

Der Befehl refresh-client -C kann verwendet werden, um die Größe eines Clients im Steuermodus festzulegen.

Im Steuermodus gibt tmux Benachrichtigungen aus. Eine Benachrichtigung wird niemals innerhalb eines Ausgabeblocks angezeigt.

Die folgenden Benachrichtigungen sind definiert:

%client-detached client

Der Client hat sich getrennt.

%client-session-changed client session-id name

Der Client ist jetzt an die Sitzung mit der ID session-id angehängt, die den Namen name hat.

%config-error error

Es ist ein Fehler in einer Konfigurationsdatei aufgetreten.

%continue pane-id

Das Pane wurde fortgesetzt, nachdem es angehalten wurde (wenn das Flag pause-after gesetzt ist, siehe refresh-client -A).

%exit [reason]

Der tmux-Client wird beendet, entweder weil er nicht an eine Sitzung angehängt ist oder ein Fehler aufgetreten ist. Wenn vorhanden, beschreibt reason, warum der Client beendet wurde.

%extended-output pane-id age ... : value

Neue Form von %output, die gesendet wird, wenn das Flag pause-after gesetzt ist. age ist die Zeit in Millisekunden, für die tmux die Ausgabe gepuffert hat, bevor sie gesendet wurde. Alle nachfolgenden Argumente bis zu einem einzelnen ':' sind für zukünftige Zwecke reserviert und sollten ignoriert werden.

%layout-change window-id window-layout window-visible-layout window-flags

Das Layout eines Fensters mit der ID window-id hat sich geändert. Das neue Layout ist window-layout. Das sichtbare Layout des Fensters ist window-visible-layout und die Fensterflags sind window-flags.

%message message

Eine Nachricht, die mit dem Befehl display-message gesendet wurde.

%output pane-id value

Ein Fenster-Pane hat eine Ausgabe erzeugt. value maskiert nicht druckbare Zeichen und Backslashes als Oktal \xxx.

%pane-mode-changed pane-id

Das Pane mit der ID pane-id hat seinen Modus geändert.

%paste-buffer-changed name

Der Name des Zwischenspeicherpuffers wurde geändert.

%paste-buffer-deleted name

Der Name des Zwischenspeicherpuffers wurde gelöscht.

%pause pane-id

Das Pane wurde angehalten (wenn das Flag pause-after gesetzt ist).

%session-changed session-id name

Der Client ist jetzt an die Sitzung mit der ID session-id angehängt, die den Namen name hat.

%session-renamed name

Die aktuelle Sitzung wurde in name umbenannt.

%session-window-changed session-id window-id

Die Sitzung mit der ID session-id hat ihr aktives Fenster in das Fenster mit der ID window-id geändert.

%sessions-changed

Eine Sitzung wurde erstellt oder gelöscht.

%subscription-changed name session-id window-id window-index pane-id ... : value

Der Wert des Formats, das dem Abonnement name zugeordnet ist, hat sich auf value geändert. Siehe refresh-client -B. Alle Argumente nach pane-id bis zu einem einzelnen ':' sind für zukünftige Zwecke reserviert und sollten ignoriert werden.

%unlinked-window-add window-id

Das Fenster mit der ID window-id wurde erstellt, ist aber nicht mit der aktuellen Sitzung verknüpft.

%unlinked-window-close window-id

Das Fenster mit der ID window-id, das nicht mit der aktuellen Sitzung verknüpft ist, wurde geschlossen.


%unlinked-window-renamed window-id

Das Fenster mit der ID window-id, das nicht mit der aktuellen Sitzung verbunden ist, wurde umbenannt.

%window-add window-id

Das Fenster mit der ID window-id wurde mit der aktuellen Sitzung verbunden.

%window-close window-id

Das Fenster mit der ID window-id wurde geschlossen.

%window-pane-changed window-id pane-id

Das aktive Fenster im Fenster mit der ID window-id wurde in das Fenster mit der ID pane-id geändert.

%window-renamed window-id name

Das Fenster mit der ID window-id wurde in name umbenannt.

UMGEBUNG

Wenn tmux gestartet wird, werden die folgenden Umgebungsvariablen überprüft:

EDITOR    Wenn der in dieser Variablen angegebene Befehl die Zeichenfolge `vi` enthält und `VISUAL` nicht gesetzt ist,
werden `vi`-ähnliche Tastenkombinationen verwendet. Dies wird durch die Optionen `mode-keys` und `status-keys` außer Kraft gesetzt.

HOME Das Anmeldeverzeichnis des Benutzers. Wenn nicht gesetzt, wird die Datenbank passwd(5) konsultiert.

LC_CTYPE  Die Zeichenkodierungs-Locale(1). Sie wird für zwei verschiedene Zwecke verwendet. Für die Ausgabe auf das Terminal wird UTF-8 verwendet, wenn die Option `-u` angegeben ist oder wenn `LC_CTYPE` `UTF-8` oder `UTF8` enthält. Andernfalls werden nur ASCII-Zeichen ausgegeben, und nicht-ASCII-Zeichen werden durch Unterstriche (`_`) ersetzt. Für die Eingabe läuft tmux immer mit einer UTF-8-Locale. Wenn `en_US.UTF-8` vom Betriebssystem bereitgestellt wird, wird es verwendet und `LC_CTYPE` für die Eingabe ignoriert. Andernfalls sagt `LC_CTYPE` tmux, wie die UTF-8-Locale auf dem aktuellen System heißt. Wenn die in `LC_CTYPE` angegebene Locale nicht verfügbar ist oder keine UTF-8-Locale ist, beendet tmux mit einer Fehlermeldung.

LC_TIME   Die Locale für Datum und Uhrzeit(1). Sie wird für locale-abhängige `strftime(3)`-Formatbezeichner verwendet.

PWD       Das aktuelle Arbeitsverzeichnis, das in der globalen Umgebung festgelegt werden soll. Dies kann nützlich sein,
wenn es symbolische Links enthält. Wenn der Wert der Variablen nicht mit dem aktuellen Arbeitsverzeichnis übereinstimmt, wird die Variable ignoriert und das Ergebnis von `getcwd(3)` verwendet.

SHELL     Der absolute Pfad zur Standardshell für neue Fenster. Siehe die Option `default-shell` für Details.

TMUX_TMPDIR

Das übergeordnete Verzeichnis des Verzeichnisses, das die Server-Sockets enthält. Siehe die Option -L für Details.

VISUAL    Wenn der in dieser Variablen angegebene Befehl die Zeichenfolge `vi` enthält, werden `vi`-ähnliche Tastenkombinationen verwendet. Dies wird durch die Optionen `mode-keys` und `status-keys` außer Kraft gesetzt.

DATEIEN

~/.tmux.conf
$XDG_CONFIG_HOME/tmux/tmux.conf
~/.config/tmux/tmux.conf

Standardmäßige tmux-Konfigurationsdatei. /etc/tmux.conf Systemweite Konfigurationsdatei.

BEISPIELE

Um eine neue tmux-Sitzung mit vi(1) zu starten:

$ tmux new-session vi

Die meisten Befehle haben eine kürzere Form, die als Alias bezeichnet wird. Für new-session ist dies new:

$ tmux new vi

Alternativ wird die kürzeste eindeutige Form eines Befehls akzeptiert. Wenn es mehrere Optionen gibt, werden diese aufgelistet:

$ tmux n
eindeutiger Befehl: n, könnte sein: new-session, new-window, next-window

Innerhalb einer aktiven Sitzung kann ein neues Fenster erstellt werden, indem C-b c (Strg gefolgt von der Taste b und dann der Taste c) eingegeben wird.


Windows kann mit Folgendem navigiert werden: „C-b 0“ (um Fenster 0 auszuwählen), „C-b 1“ (um Fenster 1 auszuwählen) und so weiter; „C-b n“ zum Auswählen des nächsten Fensters; und „C-b p“ zum Auswählen des vorherigen Fensters.

Eine Sitzung kann mit „C-b d“ getrennt (oder durch ein externes Ereignis wie eine ssh(1)-Trennung) und mit Folgendem wieder verbunden werden:

$ tmux attach-session

Durch Eingabe von „C-b ?“ werden die aktuellen Tastenkombinationen im aktuellen Fenster aufgelistet; mit den Pfeiltasten kann durch die Liste navigiert werden, oder mit „q“ kann sie verlassen werden.

Befehle, die beim Start des tmux-Servers ausgeführt werden sollen, können in der Konfigurationsdatei \~/.tmux.conf abgelegt werden. Häufige Beispiele sind:

Ändern der Standard-Präfix-Taste:

set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix

Statusleiste deaktivieren oder deren Farbe ändern:

set-option -g status off
set-option -g status-style bg=blue

Festlegen anderer Optionen, wie z. B. des Standardbefehls oder des Sperrens nach 30 Minuten Inaktivität:

set-option -g default-command "exec /bin/ksh"
set-option -g lock-after-time 1800

Erstellen neuer Tastenkombinationen:

bind-key b set-option status
bind-key / command-prompt "split-window 'exec man %%'"
bind-key S command-prompt "new-window -n %1 'ssh %1'"

SIEHE AUCH

pty(4)

AUTOREN

Nicholas Marriott <_>