tmux에서 창을 효율적으로 재정렬하는 방법은 무엇입니까? 예를 들어 다음과 같은 창 세트가 있습니다.
0:zsh 1:elinks 2:mutt 3:irssi 4:emacs 5:rss 6:htop
rss
다음 사이를 이동 elinks
하고 mutt
종료하려면 어떻게 해야 합니까 ?
0:zsh 1:elinks 2:rss 3:mutt 4:irssi 5:emacs 6:htop
나는 아직 사용되지 않은 인덱스로 이동 창을 사용하는 방법을 알고 move-window
있으며 이를 달성하기 위해 일련의 이동 창을 사용할 수 있지만 분명히 이것은 매우 지루합니다.
답변1
swap-window
당신을 도울 수 있습니다:
swap-window -t -1
현재 창을 왼쪽으로 한 위치 이동합니다.
~에서인간 멀티플렉서:
swap-window [-d] [-s src-window] [-t dst-window]
(alias: swapw)
This is similar to link-window, except the source and destination windows are swapped.
It is an error if no window exists at src-window.
키에 바인딩할 수 있습니다.
bind-key -n S-Left swap-window -t -1
bind-key -n S-Right swap-window -t +1
Shift+Left
그런 다음 및 를 사용하여 Shift+Right
현재 창 위치를 변경할 수 있습니다.
답변2
최근 tmux 버전의 동작을 보면 swap-window 명령이 동일한 창을 유지하지 않는다는 것을 알 수 있지만 허용되고 높은 지지를 받은 답변은 정확합니다. 따라서 작동 방식은 다소 직관적이지 않습니다. 활성 창은 해당 방향으로 바뀌지만 동일한 슬롯에 유지됩니다!
이 문제를 해결하려면 이를 따르도록 바인딩을 늘리면 됩니다. 예를 들어, 내 tmux 구성은 다음과 같습니다.
bind -n C-S-Left { swap-window -t -1; previous-window }
bind -n C-S-Right { swap-window -t +1; next-window }
답변3
즉시 사용 가능한 방식(Tmux 3.0+)
이것이 있다메뉴 표시기능은 다음과 같습니다.v2.9에서 v3.0으로.
(Prefix) <이제 Tmux에서는 아래와 같이 현재 창과 다른 창의 교환을 제어할 수 있는 부동 상자를 트리거 할 수 있습니다 .
논평:
- 기본 접두사는 다음과 같습니다.Ctrl-b
- (Prefix) >떠있는 상자를 트리거합니다다른 기능들또한 세분화 및 스케일링과 같은 것입니다.
(Prefix) <
현재 창을 다른 창으로 바꾸는 것을 제어할 수 있는 트리거 플로트를 사용하는 바로가기를 우연히 발견했습니다 .
모든 플러그인이 비활성화된 문서에서는 이 기능을 찾을 수 없기 때문에 이것이 새로운 기능인지 확실하지 않습니다. 하지만 그것은 창문을 재배치하는 데 도움이 되었습니다.
@KamilMaciorowski의 문서를 인용해 주셔서 감사합니다.
답변4
tmux
버전 1.7 이상인 경우
move-window -r
또는
set-option -g renumber-windows on
앞으로는 자동으로 실행될 예정입니다 .tmux.conf
.