在 中screen
,我只需键入即可C-a :number 0
将窗口移动到窗口列表的顶部,并将所有其他窗口向下移动。 的等效命令序列是什么tmux
?我查看了手册页,但我发现这一点令人困惑。
答案1
该swap-window
命令最接近您想要的。
“前缀 :”(默认情况下为Ctrl+ B):会将您带到 tmux 命令提示符。在那里输入:
swap-window -s 3 -t 1
让3号窗口和1号窗口交换位置。
要将当前窗口与顶部窗口交换,请执行以下操作:
swap-window -t 0
在索引 0 处没有窗口的不太可能的情况下,执行以下操作:
move-window -t 0
(如果 base-index 为 0,则为默认值)。命令move-window -t <NUMBER>
默认绑定到Ctrl+ B, .。
~/.tmux.conf
您可以通过将以下内容添加到您的来将该命令绑定到某个键(例如,T 表示“top”):
bind-key T swap-window -t 0
答案2
除了 Gareth 的答案之外,您还可以使用以下键绑定
bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1
按 Ctrl+Shift+Left(将把当前窗口向左移动。同样向右移动。无需使用修饰符(Cb)。
对于 tmux 3.0 版本,你应该使用以下键绑定
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
答案3
tmux:number 42
相当于:move-window -t 42
。
答案4
您可以使用在和之间进行选择的外部 shell 脚本来实现与screen
的命令等效的功能。您可以通过以下方式将其绑定到某个键:number
swap-window
move-window
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