在杀死窗格后,如何告诉tmux自动调整窗格大小?

时间:2017-04-03 09:57:57

标签: tmux

当我有三个宽度相等的窗格时:

| ------ | ------ | ------ |

我杀了一个窗格,我的窗格看起来像这样:

| ------ | ------------- |

但我希望它们看起来像这样,自动

| --------- | --------- |

要手动执行此操作,我会使用select-layout even-horizontal和热键。

也许有一种方法可以在窗格被杀死后自动输入tmux select-layout even-horizontal

1 个答案:

答案 0 :(得分:1)

正如i_v_harish在他的评论中指出的那样,这可以从引入命令挂钩的tmux 2.3+开始。

Panes可以因以下原因之一而关闭。

  • Pane 已杀死
    • 使用kill-pane(默认绑定到<前缀> + x
  • Pane 退出
    • 窗格中运行的命令终止(例如,如果它是shell,用户键入exit或按 Ctrl + d

可以将以下行添加到~/.tmux.conf以涵盖两种用例。

set-hook -g after-kill-pane 'select-layout even-horizontal'
set-hook -g pane-exited 'select-layout even-horizontal'

manual中描述了挂钩。

  

tmux允许命令在各种触发器上运行,称为钩子。大多数tmux命令都有一个挂钩,并且有许多挂钩与命令无关。

     

挂钩在完成后运行后的命令,除非命令作为挂钩本身的一部分运行。它们以'after-'前缀命名。

除了even-horizontal之外,您还可以选择多种不同的布局。

偶数水平

+---+---+---+---+---+
|   |   |   |   |   |
|   |   |   |   |   |
|   |   |   |   |   |
|   |   |   |   |   |
|   |   |   |   |   |
+---+---+---+---+---+

偶数垂直

+-------------------+
|                   |
+-------------------+
|                   |
+-------------------+
|                   |
+-------------------+

主水平

+---+---+---+---+---+
|                   |
|                   |
+---+---+---+---+---+
|   |   |   |   |   |
|   |   |   |   |   |
+---+---+---+---+---+

主垂直

+------+------------+
|      |            |
|      +------------+
|      |            |
|      +------------+
|      |            |
+------+------------+

瓷砖

+---------+---------+
|         |         |
+---------+---------|
|         |         |
+---------+---------+
|                   |
+-------------------+