Wie kann ich Windows in tmux effizient neu anordnen? Zum Beispiel mit dieser Reihe von Fenstern:
0:zsh 1:elinks 2:mutt 3:irssi 4:emacs 5:rss 6:htop
Was würde ich zu bewegen tun müssen, um rss
zwischen elinks
und mutt
, endet mit:
0:zsh 1:elinks 2:rss 3:mutt 4:irssi 5:emacs 6:htop
Ich weiß, wie man move-window
ein Fenster in einen noch nicht verwendeten Index verschiebt, und ich könnte eine Reihe von Fenstern verwenden, um dies zu erreichen - aber das ist natürlich sehr mühsam.
Antworten:
swap-window
kann dir helfen:Das aktuelle Fenster wird um eine Position nach links verschoben.
Vom Mann tmux :
Sie können es an einen Schlüssel binden:
Dann können Sie mit
Shift+Left
undShift+Right
die aktuelle Fensterposition ändern.quelle
swap-window
Befehlen ausführen (drei für den Beispielfall) - richtig?swap-window -s 2 -t 5
. Diese Swap-Fenster Nummer 2 mit Fensternummer 5.swap-window
Befehl war mir bereits bekannt , aber ich wusste nichts über die-
/+
-Präfixe für das vorherige / nächste Fenster.swap-window
in neueren tmux-VersionenDie akzeptierte und hoch gelobte Antwort ist korrekt, obwohl das Verhalten in den letzten tmux-Versionen den Befehl swap-window nicht dazu führt, dass Sie im selben Fenster bleiben. Es funktioniert also ziemlich unintuitiv, Ihr aktives Fenster wird in diese Richtung getauscht, aber Sie bleiben im selben Slot!
Um dieses Problem zu beheben, erweitern Sie einfach die Bindung, um dem Problem zu folgen. Zum Beispiel aus meiner tmux Konfiguration:
quelle
Hier ist eine funktionierende Lösung mit Bash-Funktion.
Bonus: Bleiben Sie im selben Fenster, wenn das derzeit aktive Fenster nicht betroffen ist.
quelle
If
tmux
ist Version 1.7 oder höheroder
in
.tmux.conf
automatisch tun, in Zukunft.quelle