TMUX에서 창 번호 다시 매기기


128

나는 종종 tmux에서 10 개 이상의 창으로 끝납니다. 나중에, 나는 나의 오래된 것들을 닫습니다. 더 이상 존재하지 않는 창 15와 같이 창 3으로 번호를 다시 매기는 방법이 있습니까? 또는 pack빈 슬롯이 없도록 다시 모두 위로? 할 수 없기 때문에 높은 번호의 창으로 건너 뛰기가 어렵 기 때문에이 작업을 수행하고 싶습니다 Ctrl+B, 15. 내가 사용할 필요가 Ctrl+B, w창문을 열거하고 나서 열려는 윈도우에 해당하는 문자를 입력합니다.

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

tmux에서 많은 창을 어떻게 관리합니까?

답변:


123

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

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한 번에 모든 창에 번호를 다시 매 깁니다.


5
좀 더 명시 적으로 지시를 필요로하는 사람들을 위해 : ctrl b :다음을 입력 move-window -r(여기서 ctrl b기본 접두어 키입니다)
마크

92

tmux 1.7에는 갭이없는 / 포장 된 창 번호를 설정하고 유지하는 데 도움이되는 몇 가지 기능이 있습니다.

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

    {1 : A, 4 : B, 15 : C}와 같은 일련의 창을 가지고 있다면, move-window -r{1 : A, 2 : B, 3 : C}로 번호를 다시 매길 수 있습니다 base-index. 이 예에서는 1).

  • renumber-windows세션 옵션이 활성화되어, TMUX은 자동으로 (에서와 같이 세션의 창 번호를 다시합니다 move-window -r모든 창을 닫은 후).

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

    set-option -g renumber-windows on
    

4
드디어! 나는이 renumber-windows옵션을 오랫동안 찾았습니다 ! 내가 전에 일부를 닫았 기 때문에 항상 "왼쪽"에 새 창이 열리도록 버그를 수정했습니다.
Ory Band

15

창 번호 사이에 공백이있는 상황에서 종종 자신을 찾습니다 (예 : 창 세션).

1 3 4 8 9 13

각각의 순서를 변경하거나 'renumbering-windows'옵션을 활성화하지 않고 순서를 바꾸는 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..."

1
"move-window -r"을 실행하는 것과 다른가요?
PonyEars

2
전혀 그렇지 않다. 방금 창을 이동하는 -r 옵션에 대해 알지 못했습니다.
gospes

6

이전 답변은 모두 훌륭하지만 여기에 몇 번이고 몇 개의 창을 섞는 것이 간결한 해결책이 있습니다.

move-window -t <number>

현재 창을 새 창 번호 (이미 점유되어 있지 않아야 함)로 이동합니다. 두 개의 창을 바꾸려면 먼저 한 창을 새 창으로 임시 이동합니다. 예 : 창 3과 5를 바꾸려면 :

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

2

창을 죽일 때 항상 창 번호를 다시 매길 필요가 있다면 다음에서 사용할 수 있습니다 .tmux.conf.

set-option -g renumber-windows on
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.