【问题标题】:tmux 1.7 move windowtmux 1.7 移动窗口
【发布时间】:2012-10-14 22:35:43
【问题描述】:

我刚刚更新到 tmux 1.7,在手册页中有一个使用 movew:-r 的新选项,上面写着

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

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

prefix : movew -r -t 4

它给出了错误:

找不到会话:4

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

【问题讨论】:

    标签: tmux


    【解决方案1】:

    文档没有明确说明这一点,但是当您使用 -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)。

    【讨论】:

    • 非常感谢克里斯。我没有正确理解手册页 - 我认为它的说法有点令人困惑。你的答案很清楚:)
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多