TMUX에서 창 번호 다시 매기기 때문에 높은

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

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

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



답변

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

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


답변

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
    

답변

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

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..."


답변

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

move-window -t <number>

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

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


답변

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

set-option -g renumber-windows on


답변