tmux同步一些但不是所有窗格

时间:2012-09-17 00:43:00

标签: tmux

在tmux中我有3列和2行布局,顶行是与我所有服务器的ssh连接,而底部是运行在顶层的所有相同服务器。

我正在尝试同步顶行,所以如果我输入一个命令,所有三个窗格都复制相同的命令,我尝试了同步窗格,但是当手册页说它将通过所有窗格运行命令然后会破坏与我的所有'顶部'都在botton排。

无论如何都要同步一组窗格?

1 个答案:

答案 0 :(得分:8)

这不是你想要的,但它非常接近。我们的想法是将一个键绑定到一组命令:

  1. 提示运行命令
  2. 使用“select-pane”选择第一个顶级窗格
  3. 使用'send-keys'运行命令
  4. 对其他顶级窗格重复步骤2和3
  5. 命令如下所示

    bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m "
    

    以下是一个完整的示例,让我们设置6个窗格,每行2个,每行3个:

    $ tmux new -s 'top_n_tail' \; split-window -h \; split-window -h \; select-layout even-horizontal \; detach
    $ tmux att -t 'top_n_tail' \; select-pane -t 0 \; split-window \; detach
    $ tmux att -t 'top_n_tail' \; select-pane -t 2 \; split-window \; detach
    $ tmux att -t 'top_n_tail' \; select-pane -t 4 \; split-window
    

    在tmux提示符下(C-b :)将'R'绑定到一组接受bash命令并将其发送到某些窗格的tmux命令:

    :bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m "
    

    现在当您点击C-b R时,系统会提示您输入命令

    Prompt to enter command

    仅在前3个窗格中运行