在tmux中,我有一个3列和2行布局,顶行是ssh连接到我所有的服务器,底部是所有相同的服务器运行在顶部.
我正在尝试同步顶行,所以如果我输入一个命令,所有三个窗格都复制相同的命令,我尝试了同步窗格,但是正如man页面所说,它将通过所有的窗格运行命令,然后与我所有的在第一行的“顶”.
有没有同步一组窗格?
解决方法
它不完全是你想要的,但它是相当接近.这个想法是将键绑定到一组命令:
>提示命令运行
>使用’选择窗格’选择第一个顶级窗格
>使用’send-keys’来运行命令
>对其他顶级窗格重复步骤2和3
这是命令的样子
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’绑定到一组tmux命令,它们接受你的bash命令并将其发送到一些窗格:
: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时,系统将提示您输入命令
哪些只能在前3个窗格中运行