tmux - 在指定位置插入一个窗口

15 tmux

tmux 具有“move-window”命令,您可以使用该命令将窗口移动到指定的索引,如下所示:

move-window -t 3
Run Code Online (Sandbox Code Playgroud)

但是,如果索引 3 已经被占用,您将无法将当前窗口移动到位置 3。

我正在寻找一个选项,它允许我在位置 3 移动(插入)我的窗口,即使它已经被占用,然后增加其他后续窗口的窗口编号(例如,最初位于 3 的窗口现在将是 4,以下将是 5 等)

小智 31

尝试: new-window -a

在创建新窗口时使用 -a 选项可以在下一个索引处插入新窗口,而所有其他后续窗口的索引将自动增加。


Way*_*ker 6

至少在 tmux 3.2a 中,您可以简单地运行 OP 的命令-a

move-window -a -t 3
Run Code Online (Sandbox Code Playgroud)


Den*_*son 2

下面的脚本将允许您做您想做的事情。您可以从 shell 提示符运行它,也可以执行以下操作:

:run "ins-move 2 5"
Run Code Online (Sandbox Code Playgroud)

该示例将窗口二移动到窗口五之前的位置。

#!/bin/bash
for ((i=$1; i<$2-1; i++))
do
    tmux swap-window -s :$i -t :$((i+1))
done
Run Code Online (Sandbox Code Playgroud)