答案1
您可以提供自己的绑定,由 连接的命令组成\;
。例如,在您的~/.tmux.conf
添加
bind-key '"' split-window \; select-layout -n \; select-layout -p
这将Ctrl-b "拆分窗口,然后将布局更改为下一个布局,然后返回到上一个布局。您需要对添加或删除窗口的其他命令执行此操作。
如果您想要更多的自动控制,您可以编写一个后台 tmux 控制模式进程来监听真正的 tmux 进程。它会收到真实 tmux 中发生的所有事情的通知,然后您可以select-layout
在看到新窗口或已删除窗口的通知时发送命令。我对此没有进行过太多实验,但如果您使用 2 个终端并在其中一个终端中运行正常会话
tmux new -s mysession
而另一方面
tmux -C attach -t mysession
然后当你在普通 tmux 中拆分窗口、添加新窗口或关闭窗口时,你会看到类似这样的行
%layout-change @2 91a8,80x23,0,0[80x11,0,0,5,80x11,0,12,7]
%window-add @3
%window-close @1
在控制 tmux 中。当你看到这些时,你可以select-layout -n
在控制模式下写入,它会影响第一个。有一个python 库使用这个机制,我还没有进一步研究过。