답변:
이제 아래 답변 에서 기본적으로 지원됩니다 .
버전 1.8에서는 크기 조정 창에 -Z 플래그가 추가되었습니다. 매뉴얼 페이지에서 :
-Z를 사용하면 활성 창은 확대 / 축소 (창 전체 차지)와 확대 / 축소되지 않음 (배치에서 정상 위치) 사이에서 전환됩니다.
또 다른 옵션은 사용하는 방법이 될 수 break-pane
다음 join-pane
. 로부터 man 페이지 :
break-pane [-d] [-t target-pane]
(alias: breakp)
Break target-pane off from its containing window to make it the
only pane in a new window. If -d is given, the new window does
not become the current window.
join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]
(alias: joinp)
Like split-window, but instead of splitting dst-pane and creating
a new pane, split it and move src-pane into the space. This can
be used to reverse break-pane.
따라서 창을 break-pane
선택한 다음 최대화 된 버전으로 작업을 완료 한 후 다시 결합 할 join-pane
수 있습니다. 기본 인수를 다시 적용하거나 나중에 다시 정렬 할 수 있습니다.
결합 패널은 tmux 1.3에 있지만 1.1은 아닌 것으로 나타납니다. (불확실한 1.2, 미안합니다).
그리고 터미네이터 (GUI (GTK 기반) 터미널 멀티플렉서)는 줌 기능을 수행 할 수 있습니다. Ctrl-Shift-X는 기본 키 바인딩입니다. 물론 tmux 가하는 일을 많이하지 않습니다 ...
join-pane -t:{previous}
을 수행하십시오. 이전 창 또는 join-pane -t:0
창 0에 다시 결합하십시오.
이것은 이제 기본 tmux 기능입니다.
버전 1.8에서는에 -Z
플래그가 추가 되었습니다 resize-pane
. 매뉴얼 페이지에서 :
-Z를 사용하면 활성 창은 확대 / 축소 (창 전체 차지)와 확대 / 축소되지 않음 (배치에서 정상 위치) 사이에서 전환됩니다.
그것은에 바인딩 된 tmux-prefix- z(OS X에 브루을 통해) 내 설치에 기본적으로.
그래서 나는 당신이 이것을 전에 물어 본 것을 알고 있습니다 ...하지만 오늘까지 화면에서 전환하지 않았습니다!
나는 같은 문제에 부딪쳤다.
unbind +
bind + new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \; swap-pane -s tmux-zoom.0 \; select-window -t tmux-zoom
unbind -
bind - last-window \; swap-pane -s tmux-zoom.0 \; kill-window -t tmux-zoom
워크 플로가 내 것과 같으면 (즉, 창을 최대화하고, 일부 작업을 수행 한 다음 즉시 최대화를 해제하면) 이것이 효과적입니다.
bind c-m select-window -t tmux-zoom ? <minimize> : <maximize>
. 그러나 이제는 청결을 위해 다른 곳 에서이 기능을 정의하고 싶습니다 bind c-m :max_or_min
. 가능합니까? 검색하기가 어렵습니다. (저는 종종 잘못된 명령을 내리고 빈 'tmux-zoom'창을 추가로 만듭니다.)
확대 / 축소 기능이 향상되었습니다. 이제 여러 창을 계층 적으로 확대 할 수 있습니다. 아래 작업을 수행하고 tmux 서버를 다시로드하면 (필자의 경우 Ctrl-r) x키를 확대하여 창을 축소하고 축소합니다. 확대 창은 새 창에서 창을 열어서 이루어지며 창을 원래 창으로 다시 가져 가면 축소됩니다. 확대 창을 분할하면 확대 창을 확대하고 다시 확대 창으로 축소 할 수 있습니다. 축소는 단일 창을 포함하는 확대 창에있는 경우에만 발생합니다.
당신의 끝에 다음을 추가 ~/.tmux.conf
~$ grep "bind x" ~/.tmux.conf
unbind x
bind x run ". ~/.tmux/zoom"
다음 파일 추가
~$ cat ~/.tmux/zoom
#!/bin/bash -f
currentwindow=`tmux list-window | tr '\t' ' ' | sed -n -e '/(active)/s/^[^:]*: *\([^ ]*\) .*/\1/gp'`;
currentpane=`tmux list-panes | sed -n -e '/(active)/s/^\([^:]*\):.*/\1/gp'`;
panecount=`tmux list-panes | wc | sed -e 's/^ *//g' -e 's/ .*$//g'`;
inzoom=`echo $currentwindow | sed -n -e '/^zoom/p'`;
if [ $panecount -ne 1 ]; then
inzoom="";
fi
if [ $inzoom ]; then
lastpane=`echo $currentwindow | rev | cut -f 1 -d '@' | rev`;
lastwindow=`echo $currentwindow | cut -f 2- -d '@' | rev | cut -f 2- -d '@' | rev`;
tmux select-window -t $lastwindow;
tmux select-pane -t $lastpane;
tmux swap-pane -s $currentwindow;
tmux kill-window -t $currentwindow;
else
newwindowname=zoom@$currentwindow@$currentpane;
tmux new-window -d -n $newwindowname;
tmux swap-pane -s $newwindowname;
tmux select-window -t $newwindowname;
fi
동일한 키 입력으로 최대화 / 최소화하기 위해이 작업을 수행했습니다.
bind C-k run "if [[ $(tmux list-window) =~ ZOOM ]]; then tmux last-window; tmux swap-pane -s ZOOM.1; tmux kill-window -t ZOOM; else tmux new-window -d -n ZOOM; tmux swap-pane -s ZOOM.1; tmux select-window -t ZOOM;fi"
resize-pane -Z
토글 문제 는 때로는 스크립트 나 내부에서 호출 될 때 때때로 원하는 것보다 역방향 확대 / 축소 작업을 수행한다는 것 tmux.conf
입니다.
해결 방법은 다음과 같습니다.
tmux-zoom-in.sh
#!/bin/bash
# Zoom in the current pane ONLY if it is not currently zoomed.
# Requires tmux version >= 1.8
tmux list-panes -F '#F' | grep -q Z || tmux resize-pane -Z
tmux-zoom-out.sh
#!/bin/bash
# Zoom out the current pane ONLY if it is not currently zoomed.
# Requires tmux version >= 1.8
tmux list-panes -F '#F' | grep -q Z && tmux resize-pane -Z
tmux 1.8을 사용할 수 없거나 더 긴 최대화 상태를 선호하는 사람들을 위해 tmux 1.6 이상에서 작동 하는 tmux 스크립트를 게시했습니다 .
희망이 도움이됩니다.
우분투 12.04에 있으며이 기능도 필요했습니다. tmux 1.8부터 tmux-prefix z를 사용하여 줌 토글을 기본적으로 지원합니다. 우리는 아마도 12.04에서 tmux 1.8을 볼 수 없으므로 다른 dev 컴퓨터의 소스에서 tmux 1.8을 컴파일하고 이름을 _tmux-1.8로 바꾸고 1.8 바이너리를 /usr/bin/_tmux-1.8로 복사하고 .bash_aliases-> alias를 편집했습니다. tmux = '_ tmux-1.8'.
이 빠르고 더러운 방법을 사용하는 데 아무런 문제가 없었으며 tmux 1.8이 12.04에 도달하면 아무 것도 깨지 않았습니다.
이전 버전의 tmux의 경우이 솔루션이 내가 찾은 유일한 솔루션입니다.