tmux에서 창 번호 다시 매기기

tmux에서 창 번호 다시 매기기

나는 종종 tmux에 10개 이상의 창이 나타나는 경우가 있습니다. 나중에 나는 오래된 것 중 일부를 닫았습니다. 창 15의 번호를 창 3(더 이상 존재하지 않음)으로 다시 지정하는 방법이 있습니까? 아니면 pack빈 슬롯이 없도록 모두 다시 조립하시겠습니까? 그렇게 할 수 없기 때문에 더 높은 번호의 창으로 점프하는 것이 어렵기 때문에 이렇게 하고 싶습니다 Ctrl+B, 15. 목록 창을 사용한 Ctrl+B, w다음 열려는 창에 해당하는 문자를 입력해야 합니다.

나는 창문을 바꿀 수 있다는 것을 안다. 예를 들어, Ctrl+B, c빈 슬롯 3에서 열리는 새 창( )을 만들 수 있습니다 . 그런 다음 swapw창 15와 창 3을 열고 창 15를 닫을 수 있습니다 . 분명히 이것은 지루한 접근 방식입니다.

tmux에서 여러 창을 관리하는 방법은 무엇입니까?

답변1

다음이 필요한 것 같습니다.

move-window [-rdk] [-s src-window] [-t dst-window]
              (alias: movew)
        This is similar to link-window, except the window at src-window
        is moved to dst-window.  With -r, all windows in the session are
        renumbered in sequential order, respecting the base-index option.

인수 없이 호출하면 movew현재 창을 첫 번째 자유 위치로 이동합니다. movew -r모든 창의 번호가 즉시 다시 매겨집니다.

답변2

멀티플렉서1.7 틈이 없거나 채워진 창 번호를 설정하고 유지하는 데 도움이 되는 몇 가지 기능이 있습니다.

  • 이 명령은 세션(현재 세션 또는 이 옵션으로 지정된 세션) 의 모든 창 번호를 다시 매기는 move-window새 옵션을 학습합니다 .-r-t

    move-window -r{ 1 : A, 4:B, 15:C }와 같은 창 세트가 있는 경우 { 1:A, 2:B, 3:C }로 번호를 다시 매길 수 있습니다 base-index. 1) 이 경우.

  • renumber-windows세션 옵션이 활성화 되면멀티플렉서move-window -r창을 닫으면 세션 창의 번호가 자동으로 다시 매겨집니다(동일함).

    이 동작이 마음에 들면 이를 재정의하지 않는 모든 세션이 자동으로 활성화되도록 전역 값으로 설정할 수 있습니다.

    set-option -g renumber-windows on
    

답변3

나는 종종 창이 있는 세션과 같이 창 번호 사이에 공백이 있는 상황에 처하게 됩니다.

1 3 4 8 9 13

나는 각각의 순서를 변경하지 않고 "창 번호 다시 매기기" 옵션을 활성화하지 않고 순서를 변경하는 tmux 스크립트를 작성했습니다. 결과:

1 2 3 4 5 6

.tmux.conf에 다음 내용을 입력하세요.

bind R                                      \
    set -g renumber-windows on\;            \
    new-window\; kill-window\;              \
    set -g renumber-windows off\;           \
    display-message "Windows reordered..."

창 순서를 바꾸려면(또는 바인딩을 변경하려면) [PREFIX]-R을 누르세요.

현재 tmux 1.9a를 실행 중입니다.

위의 내용은 더 간단한 것으로 대체될 수 있습니다.

bind R                                      \
    move-window -r\;                        \
    display-message "Windows reordered..."

답변4

이전 답변은 모두 좋지만 가끔 소수의 창만 섞고 싶다면 여기에 깔끔한 솔루션이 있습니다.

move-window -t <number>

현재 창은 새 창 번호로 이동됩니다(창 번호는 아직 채워져 있지 않아야 합니다). 두 개의 창을 바꾸려면 먼저 창 하나를 임시로 새 번호로 이동하세요. 예를 들어 창 3과 5를 교환합니다.

move-window -s 3 -t 99
move-window -s 5 -t 3
move-window -s 99 -t 5

관련 정보