하나 이상의 tmux 창을 "고정"으로 만들 수 있습니까? 즉, 이 창은 내 tmux 세션에서 현재 사용 가능한 모든 창에 표시됩니까?
답변1
답변2
Chris가 말했듯이 창을 고정으로 표시할 수 있는 내장 기능이 없습니다. 이는 현재 창을 켤 때 다른 모든 창의 모든 창 재구성을 처리하는 방법이 즉시 명확하지 않기 때문에 의미가 있습니다. "끈적끈적"해집니다. 사용자가 볼 수 없는 방식으로 레이아웃을 엉망으로 만들면 사용자 경험이 저하되는 경우가 많습니다.
다음과 같은 바인딩이 유용할 수 있습니다.
bind -n M-k move-pane -t ':+'
bind -n M-j move-pane -t ':-'
이는 J와 K를 사용하여 왼쪽과 오른쪽으로 이동하는 데 익숙한 Vim 사용자에게 친숙합니다. 이 바인딩을 사용하면 tmux가 개입하여 Alt+K활성 Alt+J창을 각각 오른쪽 및 왼쪽 창으로 이동합니다.
현재 있는 창을 꺼내서 인접한 tmux 창에 채웁니다. 대상 창 레이아웃에 창이 삽입될 인덱스를 지정할 수도 있습니다. 제공될 수 있는 다른 옵션은 맨페이지를 참조하십시오 move-pane
.
이렇게 하면 물론 여전히 레이아웃 변경이 있지만(소스 창의 변경 사항은 암시적이며 하나의 창으로 제한되는 반면, 대상 창의 변경 사항도 하나의 창으로 제한되어 직접 관찰 가능) 더 "제어"됩니다. "고착"되도록 설계된 창에 집중하는 한 목표를 어느 정도 달성할 수 있습니다.
"고정"하려는 창에 초점을 맞춰야 하기 때문에 여전히 만족스럽지 않습니다. 이로 인해 항상 표시되지만 실제로는 초점이 맞춰지지 않는 고정 창을 원하는 경우 이 명령을 신속하게 실행하기가 어렵습니다.
고정하려는 창에 특별한 이름을 사용하고 콘텐츠를 수동으로 정렬하는 약간 더 복잡한 tmux 스크립트를 생각해내는 것이 가능합니다. 하지만 고통스러운 것 같습니다.
마지막 흥미로운 옵션 중 하나는 중첩된 tmux를 사용하는 것입니다. 고정 창을 상위 tmux 안에 넣고 다른 창에 터미널의 나머지 부분을 호스팅하는 tmux가 포함되도록 합니다. 이렇게 하면 자녀 tmux 내에서 자유롭게 전환할 수 있습니다. 문제는 기본적으로 동일한 작업을 수행하려면 접두사 키를 두 번 눌러야 하기 때문에 작동하는 것을 찾아야 한다는 것입니다. 또한 매우 짜증나는 일입니다. 중첩된 tmux 스마트 "터널"을 통해 바인딩을 바인딩했지만 이러한 비효율적인 메시징 체계의 논리는 금방 관리하기 어려워집니다. 이에 대한 한 가지 제한 사항은 여기의 "고정 창"이 전체 높이 또는 너비에 걸쳐 있어야 하며 모서리가 될 수 없다는 것입니다.
어쨌든, 나는 이것이 tmux가 우리를 위해 구현해야 하는 기능이라고 말하고 싶습니다. 왜냐하면 올바르게 스크립트하는 것이 거의 불가능하기 때문입니다. 그러나 실제로 혼란스럽지 않은 방식으로 이를 수행하는 방법을 모르겠습니다(첫 번째 문장 참조) 말하다).