tmux 1.7移动窗口

时间:2012-10-14 22:35:44

标签: tmux

我只是更新到tmux 1.7,在手册页中有一个使用movew的新选项:-r表示

  

move-window [-rdk] [-s src-window] [-t dst-window]                      (别名:movew)                这类似于链接窗口,除了src-window的窗口移动到dst-window。使用-r,会话中的所有窗口都按顺序重新编号,与基本索引相关                选项。

如果我在会话中有3个窗口:1 2 3并且我从窗口1尝试此命令:

prefix : movew -r -t 4

它给出了错误:

  

未找到会话:4

这不是只将窗口1移动到窗口4并重命名窗口吗?我不是试图将它移动到新的会话,只是在同一个窗口中的新窗口。

1 个答案:

答案 0 :(得分:6)

文档没有明确说明这一点,但是当你使用-r时,-t的参数被解释为会话说明符,而不是窗口说明符。

因此,move-window -r -t 4告诉 tmux 重新编号名为/匹配字符串“4”的会话中的所有窗口。

听起来你可以用两个命令完成你想要的 * (假设你将base-index设置为1):

move-window -t 4 ; move-window -r

您可以将一系列命令绑定到一个键,但是您需要转义分号(这样第二个命令不会在初始绑定命令之后立即执行):

bind-key : move-window -t 4 \; move-window -r

此外,如果您通常维护一个“无间隙”的窗口编号序列(例如,您启用了renumber-windows选项),那么您可以将4替换为:和命令对将适用于任意数量的窗口(不只是3个或更少)::作为目标窗口说明符意味着“当前会话中第一个未使用的窗口编号”(即如果您已经有窗口1-3则为4)


* 如果我理解你想要转换一组窗口,如1:A,2:B,3:C到1:B,2:C,3:A(即将窗口#1(“A”)移动到最后并重新编号,以便再次使用1-3而不是2-4。)