235

:clear-history私は巨大なスクロールバックでペインを呼び出すのが好きです。ただし、このコマンドをさまざまなウィンドウのすべてのペインに送信する方法をスクリプト化したいと考えています。

この質問のおかげで、すべてのウィンドウにコマンドを送信する方法を知っていますが、どのウィンドウのすべてのペインにもコマンドを送信するにはどうすればよいですか?

send-keyssynchronize-panestmuxのマンページから思い浮かびますが、それらを組み合わせる方法がわかりません。しかし、おそらくこれを行うより簡単な方法があります。

追加の観察:

これについて少し考えてみるtmux list-panes -aと、現在のセッションのすべてのペインが一覧表示されているようです。始めるのにかなり便利です。ここからどこへ行けばいいですか?

4

10 に答える 10

439

複数のペインを持つtmuxウィンドウで次のことを試しましたか

Ctrl-B :

setw synchronize-panes on

clear history
于 2014-05-16T21:01:04.473 に答える
32

パーティーには少し遅れましたが、1 つのコマンドを送信するためだけに synchronize-panes を設定および設定解除したくなかったので、tmux のラッパー関数を作成し、 というカスタム関数を追加しましたsend-keys-all-panes

_tmux_send_keys_all_panes_ () {
  for _pane in $(tmux list-panes -F '#P'); do
    tmux send-keys -t ${_pane} "$@"
  done
}

また、tmux コマンドのラッパーを作成して、この関数の呼び出しを簡素化します (便宜上)。ラッパーと上記のコードはすべてここにあります。

これにより、実行しtmux send-keys-all-panes <command>たり、すべてのペインtmux skap <commandに送信したりできます。<command>

tmux はラッパー関数 tmux_pp にエイリアスされていることに注意してください。

于 2015-12-03T18:47:42.403 に答える
9

私のtmuxバージョンは1.9aで、これは私にとってはうまくいきます。オンとオフの両方に1つのキーで十分です

bind-key X set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"
于 2019-12-24T02:06:43.290 に答える
0

確かに部分的にしか関連していませんが、同期ペインを切り替えるとステータスの背景を赤くできることがわかったので、同期ペインの状態が不明なウィンドウに切り替えると明らかです。

bind-key C-x setw synchronize-panes on \;  set-window-option status-bg red \; display-message "pane sync on"
bind-key M-x setw synchronize-panes off \;  set-window-option status-bg default \; display-message "pane sync off"
于 2021-10-01T14:25:14.643 に答える