如何将一个大的 tmux 窗格与几个较小的窗格交换?

如何将一个大的 tmux 窗格与几个较小的窗格交换?

如何将一个大的 tmux 窗格与几个小的窗格交换?
换句话说:从像这样的安排A– 像这样的安排

                  AB
      ┏───────────────────────┓         ┊         ┌───────┬───────┬───────┐
      │                       │         ┊         │       │       │       │ 
      │           1           │         ┊         │   2   │   3   │   4   │
      │                       │         ┊         │       │       │       │
      ┡───────┬───────┬───────┩         ┊         ┢───────┴───────┴───────┪
      │       │       │       │         ┊         │                       │ 
      │   2   │   3   │   4   │         ┊         │           1           │ 
      │       │       │       │         ┊         │                       │ 
      └───────┴───────┴───────┘         ┊         ┗───────────────────────┛

有大量资源涵盖类似的操作,但不完全是这样的。

  • ///将焦点移动到另一个窗格
  • alt+ / / /调整它们的尺寸。
  • Space循环各种窗格布局/排列。
  • {/}将各个窗格向左/向右推 - 但这只是强制直接交换,例如:
                  AC
      ┏───────────────────────┓         ┊         ┌───────────────────────┐
      │                       │         ┊         │                       │ 
      │           1           │         ┊         │           2           │
      │                       │         ┊         │                       │
      ┡───────┬───────┬───────┩         ┊         ┢───────┱───────┬───────┤
      │       │       │       │         ┊         │       │       │       │ 
      │   2   │   3   │   4   │         ┊         │   1   │   3   │   4   │ 
      │       │       │       │         ┊         │       │       │       │ 
      └───────┴───────┴───────┘         ┊         ┗───────┹───────┴───────┘

答案1

使用-f选项tmux split-window。新窗格将跨越整个窗口高度(使用-h)或整个窗口宽度(使用-v)。

  1. 在最底部创建一个新窗格:

    tmux split-window -vf
    
  2. 调用tmux display-panes(或prefixq)来识别要交换的两个窗格:顶部窗格和底部窗格。

  3. 假设这些窗格为03。交换它们:

    tmux swap-pane -s 0 -t 3
    

    或者您可以标记一个窗格(RMB)并tmux swap-pane在另一个窗格中运行。

  4. 毁掉最上面的玻璃。


或者在顶部窗格中运行此命令:

tmux split-window -vf "tmux swap-pane -dt '$TMUX_PANE'"

要“撤消”(即将“移动”较大的底部窗格到顶部),请在底部窗格中运行此操作:

tmux split-window -vfb "tmux swap-pane -dt '$TMUX_PANE'"

或者标记顶部窗格(RMB),打开 tmux 命令提示符(prefix:)并执行以下命令:

split-window -vf "tmux swap-pane -d"

当您的顶部窗格很忙并且您无法在那里的 shell 中执行命令时这很有用。

相关内容