これは2つのペインを提供します。両方のペインは同じウィンドウのセットを保持しますが、各ペインは独立してウィンドウを切り替えることができます。
tmuxのアプローチは、3つのセッションを使用することです。
- ペインの外部セッション、
- ウィンドウの内部セッション(1つのペインからこれに接続できます)
- 内側のセッションのセカンダリビュー(他のペイン用)。
はい、これは狂ったUNIXの哲学です。始めましょう:
# Create a session to hold the multiple windows
$ tmux new-session -s inner
<Ctrl-b> c to create a few windows, run some things
<Ctrl-b> d to detach, but leave it running
# Create a session to hold multiple panes (the view)
$ tmux new-session -s outer
<Ctrl-b> " to split
# Open the inner session in the current (bottom) pane
$ unset TMUX ; tmux attach -t inner
これで、通常どおりトップペインに切り替えてVimを開くことができます。内部セッション(下のペイン)のウィンドウを切り替えるにはCtrl-b Ctrl-b n、とを使用する必要がありpます。
余談:これは少し扱いにくいですが、外部セッションのプレフィックスは、たとえば次のCtrl-aようにいつでも変更できます。
<Ctrl-b> :set-option prefix C-a
そして、それだけだろうCtrl-b nとp、内側の窓のサイクルに、かつCtrl-a o外側ペインサイクルへ。
では、上部ペインでVimを開く代わりに、内部セッションに再度接続しましょう。vimを終了し、今回はnew-session
(特に-t
notを使用して)コマンドを使用します-s
。
$ tmux new-session -t inner
出来上がり!これで、上部ペインと下部ペインの両方でウィンドウを切り替えることができます。
new-session -t
2回目に使用しなければならない理由は、単純にattach -t
再度実行する場合、上部ペインと下部ペインが同期され、常に同じウィンドウが表示されるためです。このペインが他のペインとは独立してウィンドウ間を移動できるように、新しい「ビュー」セッションを作成しますが、そのバックエンドをウィンドウを保持する既存のセッションに直接接続します。これは、「グループ化されたセッション」とも呼ばれます。(ちなみに、このリンクは[un]link-window
、セッション間でウィンドウを移動するために使用することも示唆しています。)
もちろん、対称性のためにtmux new-session -t inner
、の代わりに下のペインで実行することもできますattach
。その場合、tmuxの4つのインスタンス(およびサーバー用のもう1つのtmuxプロセス)を実行します!
tmux
、ウィンドウ複数のペインに分割することができます。キーバインドを使用してウィンドウ内のペイン間を循環しようとしていますか?