In screen
kann ich einfach eingeben, C-a :number 0
um ein Fenster an den Anfang der Fensterliste zu verschieben und alle anderen Fenster um eins nach unten zu schieben. Was ist die entsprechende Befehlsfolge für tmux
? Ich habe mir die Manpage angesehen, finde sie in diesem Punkt aber verwirrend.
Antwort1
Der swap-window
Befehl kommt Ihrem Wunsch am nächsten.
Mit "Präfix :" (standardmäßig also Ctrl+ B) :gelangt man zur tmux-Eingabeaufforderung. Dort gibt man ein:
swap-window -s 3 -t 1
um Fenster Nummer 3 und Fenster Nummer 1 ihre Positionen tauschen zu lassen.
So tauschen Sie das aktuelle Fenster mit dem obersten Fenster:
swap-window -t 0
Im unwahrscheinlichen Fall, dass beim Index 0 kein Fenster vorhanden ist, gehen Sie wie folgt vor:
move-window -t 0
(wenn der Basisindex 0 ist, wie standardmäßig). Der Befehl move-window -t <NUMBER>
ist standardmäßig an Ctrl+ B, gebunden ..
Sie können diesen Befehl an eine Taste binden (z. B. T für „oben“), indem Sie Folgendes zu Ihrer hinzufügen ~/.tmux.conf
:
bind-key T swap-window -t 0
Antwort2
Ergänzend zu Gareths Antwort können Sie die folgenden Tastenkombinationen verwenden
bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1
Durch Drücken von Strg+Umschalt+Links wird das aktuelle Fenster nach links verschoben. Entsprechend nach rechts. Die Verwendung des Modifikators (Cb) ist nicht erforderlich.
Für die Version tmux 3.0 sollten Sie folgende Tastenkombinationen verwenden
bind-key -n C-S-Left swap-window -t -1\; select-window -t -1
bind-key -n C-S-Right swap-window -t +1\; select-window -t +1
Antwort3
Das Tmux-Äquivalent :number 42
ist :move-window -t 42
.
Antwort4
Sie können ein Äquivalent zum Befehl screen
von implementieren number
, indem Sie ein externes Shell-Skript verwenden, das zwischen swap-window
und wählt move-window
. Sie können es folgendermaßen an eine Taste binden:
bind < command-prompt -p index "run-shell '~/.tmux.number.sh %%'"
~/.tmux.number.sh
:
#!/bin/bash
if [ $# -ne 1 -o -z "$1" ]; then
exit 1
fi
if tmux list-windows | grep -q "^$1:"; then
tmux swap-window -t $1
else
tmux move-window -t $1
fi