Answers:
看来您需要这个:
move-window [-rdk] [-s src-window] [-t dst-window] (alias: movew) This is similar to link-window, except the window at src-window is moved to dst-window. With -r, all windows in the session are renumbered in sequential order, respecting the base-index option.
movew
不带参数的调用会将当前窗口移至第一个自由位置。movew -r
将立即重新编号所有窗口。
tmux 1.7具有几个功能,可以帮助建立和维护无间隙/压缩的窗口编号:
该move-window
命令学习了一个新-r
选项,该选项将重新为会话中的所有窗口编号(当前会话或使用该-t
选项指定的窗口)。
如果您有一组窗口,例如{1:A,4:B,15:C},则可以运行move-window -r
将其重新编号为{1:A,2:B,3:C}(它们将从您的base-index
; 开始;在此示例中为1)。
当renumber-windows
会话选项启用,TMUX会自动重新编号会话窗口(如move-window -r
关闭任何窗口之后)。
如果您喜欢这种行为,则可以在全局值中将其打开,以便所有不覆盖它的会话都将自动启用它:
set-option -g renumber-windows on
renumber-windows
选项很久了!总是让我感到困惑,因为我之前已经关闭了一些窗口,所以新窗口在“左侧”打开。
我经常发现自己处于窗口编号之间存在间隙的情况,例如与Windows进行会话:
1 3 4 8 9 13
我编写了一个tmux脚本来重新排序它们,而无需更改它们各自的顺序或激活“ renumbering-windows”选项。结果:
1 2 3 4 5 6
将以下内容放入您的.tmux.conf中:
bind R \
set -g renumber-windows on\; \
new-window\; kill-window\; \
set -g renumber-windows off\; \
display-message "Windows reordered..."
点击[PREFIX] -R重新排序窗口(或更改绑定)。
我目前正在运行tmux 1.9a。
上面的代码可以用更简单的代码代替:
bind R \
move-window -r\; \
display-message "Windows reordered..."
ctrl b
:
然后输入move-window -r
(ctrl b
默认前缀键在哪里)