tmux에서 창, 창 및 세션을 대화형으로 구성(이동)하는 방법은 무엇입니까?

tmux에서 창, 창 및 세션을 대화형으로 구성(이동)하는 방법은 무엇입니까?

내가 아는 한, tmux의 계층 구조는 다음과 같습니다.회의s, 그중에는창문s, 그중에는창유리에스. tmux 명령을 사용하여 이 계층 구조에서 항목을 이동하는 것은 간단하지 않습니다. 특히 전역적으로 고유한 창 식별자가 표시되지 않기 때문입니다.

내장된 방법이나 외부 방법이 있나요?정리하다계층 구조로 나열할 수 있는 tmux의 창과 창을 사용하여 하나 이상의 항목을 선택하고 새 위치에 배치할 수 있습니까?

나는 그것이 다음과 같이 보이기를 원합니다 :

 [ ] 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

창, 창 및 세션에는 전역적으로 고유한 식별자가 있습니다. 창은 로 시작 %하며 를 통해 볼 수 있습니다 tmux lsp.

나는 물건을 자주 옮기지 않기 때문에 아마도 실제보다 더 번거로울 것입니다.

간단한 작업을 수행하는 가장 쉬운 방법은 레이블이 있는 창을 사용하는 것입니다. 이동하거나 교체하려는 창으로 이동하여(트리 모드에서 벗어나 활성 창으로 설정) C-b m표시합니다. 그런 다음 결합하려는 창 C-b : join-pane이나 교체하려는 창 으로 전환합니다 C-b : swap-pane.

유사하게 창을 사용하거나 교체하거나 이동할 수 있습니다 swap-window. move-window -k마커 창을 포함하는 창을 사용합니다.

트리 모드에서 이 작업을 수행할 수 있다고 생각했지만 실제로는 그렇게 잘 작동하지 않습니다. 이상적으로는 두 창을 모두 표시 t한 다음 실행 : swap-pane(접두사 없음, 트리 모드 명령 :)을 사용하여 교체할 수 있지만 매번 두 대상이 모두 창으로 표시되기 때문에 작동하지 않습니다. 이건 확실히 개선될 수 있어요...

답변2

tmux 명령은 choose-tree이러한 창 아래에 창과 창 아래에 세션의 계층적 목록을 표시합니다. 기본적으로 이 키는 w(확대/축소) 및 (창 축소) 옵션과 함께 이 명령을 실행합니다.-Z-w

그것을 결합함으로써템플릿 명령. 예를 들어 활성 창을 대화형으로 선택한 창으로 이동하려면 다음 명령을 실행합니다.

choose-tree -Z "join-pane -t %%"

정말 유용하게 만들려면 키 바인딩을 만드는 것이 좋습니다.

이는 창과 창을 조작하기 위한 많은 명령에서 지원됩니다.템플릿 명령. 창/창에 태그를 지정하거나 레이블을 지정하고 다른 작업을 수행하는 방법도 있습니다. 따라서 이러한 이점을 더욱 활용할 수 있는 방법이 분명히 있습니다.

최신 tmux 버전에는 더 많은 기능을 갖춘 트리 모드 목록이 있습니다. 이러한 기능을 사용하려면 tmux를 업데이트해야 할 수도 있습니다.

그런데 좀 더 완전한 계층 구조는 다음과 같습니다. 클라이언트 <-- 세션 <-- 창 <-- 창 이제 대상 창이 분할되고 두 번째 부분은 이동된 창입니다.

관련 정보