有时,在 tmux 中最大化窗格然后将其恢复到以前的大小会非常有用。
我一直在阅读手册,但找不到办法。我想到的是,我可以绑定一个键来将窗格调整为“最大”宽度,另一个键将其恢复为某个预定义的宽度。
当然,这有其缺点,所以我想知道是否有人有更好的想法。
答案1
tmux 1.8 及更高版本
现在本机支持,从以下答案:
版本 1.8 添加了标志
-Z
。resize-pane
从手册页中可以看到:使用
-Z
,活动窗格可以在缩放(占据整个窗口)和缩小(布局中的正常位置)之间切换。
较旧的 tmux (原始答案)
另一个选项是使用 ,break-pane
然后是join-pane
。从手册页:
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
- 可能需要一些默认参数将其放回原位,或者只是随后重新排列。
请注意,join-pane 似乎在 tmux 1.3 中,但不在 1.1 中。(不确定 1.2 是否如此,抱歉)。
顺便提一下终结者(基于 GTK 的 GUI 终端多路复用器)可以执行缩放操作。(Ctrl-Shift-X 是默认键绑定)。当然,它不能执行 tmux 所做的很多事情...
答案2
这现在是原生的 tmux 功能。
版本 1.8 添加了标志-Z
。resize-pane
从手册页中可以看到:
使用 -Z,活动窗格可以在缩放(占据整个窗口)和缩小(布局中的正常位置)之间切换。
它已绑定到tmux-prefix-z在我的安装中默认如此(通过 OS X 上的 Homebrew)。
答案3
所以我知道你不久前问过这个问题...但直到今天我才切换屏幕!
我遇到了同样的问题,下面是我解决问题的方法:
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
如果您的工作流程与我的相似(即,您最大化一个窗口,做一些工作,然后立即取消最大化),那么这对您来说应该很有用。
答案4
Ctrl+ b(前缀)+z用于放大 中的特定窗格tmux 2.1
。如果再次按Ctrl++ b,z它会将窗格缩放回原始大小。它不会创建新的窗格。
与 aksay 上面发布的解决方案相比,如果您尝试拆分放大的窗格,它将不允许拆分,而是返回到原始窗格并拆分该窗格。
缩放窗口选项可能更加灵活......