脚本编写

脚本编写

是否可以创建一个与当前窗口具有相同窗格布局的新 tmux 窗口?

答案1

tmux没有内置功能可以做到这一点。

脚本编写

有什么tmux是更简单的命令可以在内部tmux或外部调用,例如。从命令行或 shell 脚本。与您的需求最相关的是list-windows

 list-windows [-a] [-F format] [-t target-session]
               (alias: lsw)
         If -a is given, list all windows on the server.  Otherwise,
         list windows in the current session or in target-session.  For
         the meaning of the -F flag, see the FORMATS section.

其输出包括每个窗口的布局,因此脚本可以解析该信息并发送tmux进一步的命令(new-windowsplit)以创建具有完全相同布局的另一个窗口。

第三方工具

tmux作为编写整个脚本的替代方法,您可以使用其他用户已经创建的多种工具之一,以简化会话/布局的设置。以下各项都允许在 YAML 中描述布局:

来自Teamocil 自述文件:

您可以通过运行以下命令来获取当前窗口的布局:

  tmux list-windows -F "#{window_active} #{window_layout}" | grep "^1" | cut -d " " -f 2

然后,您可以使用结果作为任何 Teamocil 窗口对象的布局键。

windows:
  - name: sample-two-uneven-panes
    layout: 00c7,158x38,0,0[158x9,0,0,37,158x28,0,10,39]
    panes:
      - echo foo
      - echo bar

相关内容