Wofür hast du gegoogelt? Wenn ich nach Ihrem Fragentitel suche, ist dies der Top-Hit. Hat eine nützliche Liste von Verknüpfungen (einschließlich der von cnicutar unten identifizierten)
Geoff
29
Nun, jetzt ist diese Frage selbst der Top-Hit auf Google ...
jottr
Antworten:
43
Die Antwort von Kent hat Ihre Frage vollständig beantwortet. Wenn Sie jedoch die Konfiguration von tmux so ändern möchten, dass sie der von GNU Screen ähnelt, finden Sie hier eine tmux.conf, mit der ich dies erreicht habe:
# Prefix key
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# Keys
bind k confirm kill-window
bind K confirm kill-server
bind % split-window -h
bind : split-window -v
bind < resize-pane -L 1
bind > resize-pane -R 1
bind - resize-pane -D 1
bind + resize-pane -U 1
bind . command-prompt
bind a last-window
bind space command-prompt -p index "select-window"
bind r source-file ~/.tmux.conf
# Options
set -g bell-action none
set -g set-titles on
set -g set-titles-string "tmux (#I:#W)"
set -g base-index 1
set -g status-left ""
set -g status-left-attr bold
set -g status-right "tmux"
set -g pane-active-border-bg black
set -g pane-active-border-fg black
set -g default-terminal "screen-256color"
# Window options
setw -g monitor-activity off
setw -g automatic-rename off
# Colors
setw -g window-status-current-fg colour191
set -g status-bg default
set -g status-fg white
set -g message-bg default
set -g message-fg colour191
Dies funktioniert einwandfrei : Ctrl+b &Beachten Sie, dass Sie bestätigen müssen y, um das aktuelle Fenster einschließlich aller Fenster in diesem Fenster wirklich zu beenden. Sie werden in das Fenster gestellt, das Sie zuvor verwendet haben.
rubo77
1
Es ist erwähnenswert, dass Prefix+ standardmäßig die Fensternummer qanzeigt. Wenn Sie killpdieser Kombination also zuweisen , wird diese Verknüpfung überschrieben.
kmo
106
<Prefix>& für ein Fenster zu töten
<Prefix>x für das Töten einer Scheibe
Wenn es nur einen Bereich gibt (dh das Fenster ist nicht in mehrere Bereiche aufgeteilt, <Prefix>xwürde das Fenster zerstört)
Wie immer iteriert, <Prefix>ist in der Regel CTRL+b. (Ich denke, für Anfängerfragen können wir einfach die CTRL+bganze Zeit sagen und überhaupt nicht über Präfixe sprechen, aber trotzdem :))
Dies. (Vielen Dank übrigens!) Wenn Sie remote ausgeführt werden, wo tmux in einem anderen Terminal ausgeführt wird, können Sie dies tun, INFO=$(tmux new-window -P notepad)gefolgt von tmux kill-window -t $INFO.
Johann
69
Für mich sieht die Lösung so aus:
ctrl+b q um Fensternummern anzuzeigen.
ctrl+b x Scheibe zu töten.
Wenn Sie das letzte Fenster töten, wird das Fenster geschlossen.
Während Sie gefragt haben, wie man ein Fenster bzw. Fenster , ich möchte es oft nicht töten, sondern nur, um es wieder in einen funktionierenden Zustand zu versetzen (das Layout der Fenster ist für mich von Bedeutung, das Töten eines Fensters zerstört es, sodass ich es neu erstellen muss); tmux liefert die entsprechenden respawnBefehle: respawn-paneresp. respawn-window. Nur dass Leute wie ich diese Lösung hier finden können.
Dies setzt voraus, dass Bash im Fenster ausgeführt wird. Das Fenster, das ich beenden wollte und das mich zu dieser Seite führte, ist die Liste der tmux-Befehle - das hat keine Shell zum Beenden.
Michael Campbell
1
Wenn Sie sich die Liste der von <Präfix> +? Angezeigten Befehle angesehen haben, können Sie diese durch Drücken von q oder <RET> verlassen.
Scott Centoni
8
ctrl + d tötet ein Fenster im Linux-Terminal, funktioniert auch in tmux.
Beachten Sie, dass diese Verknüpfung nur "Datenende" bedeutet. Es funktioniert nur, wenn der aktuell im tmux-Bereich ausgeführte Prozess dieses Signal akzeptiert und sich beim Empfang selbst beendet (z. B. wie bei bash). Da sich im Bereich kein Prozess befindet, wird er von tmux geschlossen. Funktioniert nicht in allen Fällen.
Nyi
Das ist Wat, wonach ich gesucht habe.
Thedanotto
1
Dies ist in Ordnung, wenn sich eine laufende Shell im Fenster befindet, aber wenn nur eine eingefrorene Anwendung vorhanden ist, ist etwas Brutaleres erforderlich. Die Antwort von Nikolay Fominyh funktioniert gut.
oz1cz
Dies tötet nur eine Scheibe, kein Fenster.
StevieD
1
Standardmäßig <Prefix>& zum Beenden eines Fensters <Prefix>x zum Beenden eines Fensters
Und Sie können Konfigurationsinformationen hinzufügen
Antworten:
Die Antwort von Kent hat Ihre Frage vollständig beantwortet. Wenn Sie jedoch die Konfiguration von tmux so ändern möchten, dass sie der von GNU Screen ähnelt, finden Sie hier eine tmux.conf, mit der ich dies erreicht habe:
quelle
versuche
Prefix
+&Wenn Sie haben
In Ihrem
.tmux.conf
können Sie auchPrefix
+ drücken q, um das Fenster zu schließen, nur wenn sich nur ein Fenster in diesem Fenster befindet.Der Standardwert für das obige Präfix ist Ctrl + b. Um das Fenster standardmäßig zu beenden, können Sie Ctrl + verwendenb &
quelle
Ctrl+b &
Beachten Sie, dass Sie bestätigen müsseny
, um das aktuelle Fenster einschließlich aller Fenster in diesem Fenster wirklich zu beenden. Sie werden in das Fenster gestellt, das Sie zuvor verwendet haben.Prefix
+ standardmäßig die Fensternummerq
anzeigt. Wenn Siekillp
dieser Kombination also zuweisen , wird diese Verknüpfung überschrieben.<Prefix>
&
für ein Fenster zu töten<Prefix>
x
für das Töten einer ScheibeWenn es nur einen Bereich gibt (dh das Fenster ist nicht in mehrere Bereiche aufgeteilt,
<Prefix>
x
würde das Fenster zerstört)Wie immer iteriert,
<Prefix>
ist in der RegelCTRL+b
. (Ich denke, für Anfängerfragen können wir einfach dieCTRL+b
ganze Zeit sagen und überhaupt nicht über Präfixe sprechen, aber trotzdem :))quelle
respawn-pane -k
.Allgemein:
Wenn Sie sich beispielsweise in Fenster 1 befinden und Fenster 9 beenden möchten:
quelle
INFO=$(tmux new-window -P notepad)
gefolgt vontmux kill-window -t $INFO
.Für mich sieht die Lösung so aus:
ctrl+b q
um Fensternummern anzuzeigen.ctrl+b x
Scheibe zu töten.Wenn Sie das letzte Fenster töten, wird das Fenster geschlossen.
quelle
Killing last pane will kill window
. Funktioniert bei mir nicht Ich benutze MacWenn Sie dies nur einmal tun möchten, ohne eine Verknüpfung hinzuzufügen, können Sie jederzeit eingeben
quelle
Während Sie gefragt haben, wie man ein Fenster bzw. Fenster , ich möchte es oft nicht töten, sondern nur, um es wieder in einen funktionierenden Zustand zu versetzen (das Layout der Fenster ist für mich von Bedeutung, das Töten eines Fensters zerstört es, sodass ich es neu erstellen muss); tmux liefert die entsprechenden
respawn
Befehle:respawn-pane
resp.respawn-window
. Nur dass Leute wie ich diese Lösung hier finden können.quelle
Es gibt viele verschiedene Möglichkeiten, dies zu tun, aber mein Favorit ist einfach, an der Bash-Eingabeaufforderung 'exit' einzugeben.
quelle
ctrl + d
tötet ein Fenster im Linux-Terminal, funktioniert auch in tmux.Dies ist eine Art Ansatz.
quelle
Standardmäßig
<Prefix>
& zum Beenden eines Fensters<Prefix>
x zum Beenden eines FenstersUnd Sie können Konfigurationsinformationen hinzufügen
dann
<Prefix>
X zum Beenden einer Sitzungquelle