21

tmuxでは、3列と2行のレイアウトがあり、上の行はすべてのサーバーへのssh接続であり、下の行はすべて同じサーバーが上で実行されています。

一番上の行を同期しようとしているので、コマンドを入力すると、3つのペインすべてが同じコマンドをコピーします。同期ペインを試しましたが、マニュアルページに記載されているように、すべてのペインでコマンドが実行され、すべてのペインで大混乱が発生します。ボットン行の「トップ」。

ペインのセットを同期する方法はありますか?

4

2 に答える 2

8

それはあなたが探しているものとは正確には異なりますが、かなり近いです。アイデアは、キーを一連のコマンドにバインドして、次のことを行うことです。

  1. コマンドの実行を求める
  2. 'select-pane'を使用して、最初のトップレベルペインを選択します
  3. 'send-keys'を使用してコマンドを実行します
  4. 他のトップレベルペインについて、手順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つのペインをセットアップしましょう。それぞれ3つの行が2つあります。

$ 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プロンプト(Cb :)で、bashコマンドを受け入れていくつかのペインに送信するtmuxコマンドのセットに「R」をバインドします。

: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 "

これで、Cb Rを押すと、コマンドの入力を求められます

コマンドの入力を求める

上位3つのペインでのみ実行されます

于 2015-06-29T07:19:39.337 に答える
0

を使用してペインの入力を無効にできますselect-pane -d。再度有効にするには、select-pane -e

プレフィックスにこれへのショートカットがあります:

bind -T marcos d select-pane -d
bind -T marcos e select-pane -e
于 2022-02-25T17:36:53.550 に答える