在 tmux 中“最大化”窗格

在 tmux 中“最大化”窗格

有时,在 tmux 中最大化窗格然后将其恢复到以前的大小会非常有用。

我一直在阅读手册,但找不到办法。我想到的是,我可以绑定一个键来将窗格调整为“最大”宽度,另一个键将其恢复为某个预定义的宽度。

当然,这有其缺点,所以我想知道是否有人有更好的想法。

答案1

tmux 1.8 及更高版本

现在本机支持,从以下答案

版本 1.8 添加了标志-Zresize-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 添加了标志-Zresize-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++ bz它会将窗格缩放回原始大小。它不会创建新的窗格。

与 aksay 上面发布的解决方案相比,如果您尝试拆分放大的窗格,它将不允许拆分,而是返回到原始窗格并拆分该窗格。

缩放窗口选项可能更加灵活......

相关内容