Ich versuche zu binden X
, um Folgendes zu tun:
- Fragen Sie den Benutzer, ob die Sitzung beendet werden soll
- Wenn
y
eingegeben, beenden Sie die Sitzung - Nachdem die Sitzung beendet wurde, wählen Sie eine andere Sitzung aus (letzte, vorherige oder nächste Sitzung).
Einige ähnliche Befehle, die nicht ganz richtig sind
Beenden Sie die Sitzung und schließen Sie das Terminal:
bind X confirm-before -p "Kill #S (y/n)?" kill-session
Fordern Sie den Benutzer auf, den Namen der Sitzung zum Beenden einzugeben, und wählen Sie die nächste Sitzung nach dem Beenden aus:
bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'"
Ich konnte keine Beispiele für ähnliche Befehle finden. Hier ist eine Lösung, die nicht funktioniert:
bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
tmux display-message -p "#S"
Trick in einer anderen Antwort gefunden hatte. Es scheint, als wäre es der Schlüssel gewesen, alles in Run-Shell zu verpacken. Vielen Dank!confirm-before
? Ich habe Probleme, die Flucht richtig zu machen.bind-key X run-shell 'tmux switch-client -n \; kill-session -t "#S"'
( tmux 1.8+ wird direktrun-shell
erweitert#S
, so dass wir dasdisplay-message
und sein zusätzliches Zitat weglassen können )Nur für den Fall, dass jemand auf diese Frage stößt - tmux-sessionist bietet diese Funktionalität zusammen mit vielen anderen.
quelle
Es gibt eine andere Frage, die eine ähnliche Frage stellt, aber etwas anders ist.
Wenn Sie das Standardverhalten
choose-session
mit der zusätzlichen Funktion möchten, mit der die ursprüngliche Sitzung beendet wird, wenn keine anderen Clients daran gebunden sind, ist diese Frage möglicherweise auch von Interesse.quelle