tmuxでウィンドウ、ウィンドウ、およびセッションをインタラクティブに設定(移動)する方法は?

tmuxでウィンドウ、ウィンドウ、およびセッションをインタラクティブに設定(移動)する方法は?

私が知る限り、tmuxの階層は次のとおりです。会議s、その中にs、その中に窓ガラスS. tmuxコマンドを使用してこの階層内の項目を移動することは簡単ではありません。これは、グローバルに一意のウィンドウ識別子が表示されないためです。

組み込み方法や外部方法はありますか?整理する階層として一覧表示できるtmuxのウィンドウとウィンドウを使用して、1つ以上の項目を選択して新しい場所に配置できますか?

私はそれが次のように見えるようにしたいです:

 [ ] 0: 5 windows (created Sun Dec  1 02:29:25 2019) [151x43] (attached)
 [ ]   0: boi (1 panes) [151x43] [layout b83d,151x43,0,0,0] @0
 [ ]   1: mnt (1 panes) [151x43] [layout b841,151x43,0,0,4] @4
 [ ]   2: vi (1 panes) [151x43] [layout b842,151x43,0,0,5] @5
 [*]   3: vi- (1 panes) [151x43] [layout b843,151x43,0,0,6] @6
 [*]   5: sink* (1 panes) [151x43] [layout b846,151x43,0,0,9] @9 (active)
 [ ] 1: 4 windows (created Sun Dec  1 02:30:53 2019) [151x43] (attached)
 [ ]   0: vi (1 panes) [151x43] [layout b83e,151x43,0,0,1] @1
>[ ]   1: vi (1 panes) [151x43] [layout b83f,151x43,0,0,2] @2
 [ ]   2: vi- (2 panes) [151x43] [layout 9749,151x43,0,0[151x21,0,0,3,151x21,0,22,12]] @3
 [ ]     0: [151x21] [history 979/1000, 549206 bytes] %3
 [ ]     1: [151x21] [history 0/1000, 0 bytes] %12 (active)
 [ ]   3: rust-fuse* (1 panes) [151x43] [layout 5c4f,151x43,0,0,10] @10 (active)

1つ以上のセッション/ウィンドウ/ウィンドウを選択し、元の場所から切り取りまたはコピーして、新しい場所に貼り付けることができます。

ベストアンサー1

ウィンドウ、ウィンドウ、およびセッションには、グローバルに一意の識別子があります。ウィンドウはで%始まり、を通して見ることができますtmux lsp

私は物事を頻繁に移動しないので、おそらく実際よりも面倒です。

簡単なタスクを実行する最も簡単な方法は、ラベル付きウィンドウを使用することです。移動または交換したいウィンドウに移動し(ツリーモードから離れてアクティブウィンドウに設定)、C-b m表示します。次に、結合したいウィンドウまたはC-b : join-pane交換したいウィンドウに切り替えますC-b : swap-pane

同様に、ウィンドウを使用、交換、または移動できますswap-windowmove-window -kマーカーウィンドウを含むウィンドウを使用します。

私はツリーモードでこれを行うことができると思いましたが、実際にはうまく機能しません。理想的には、両方のウィンドウを表示しtてから実行: swap-pane(プレフィックスなし、ツリーモードコマンド:)を使用して置き換えることができますが、毎回両方のターゲットがウィンドウとして表示されるため動作しません。これは確かに改善することができます...

おすすめ記事