我正在寻找一种类似于vim(1)如何使用^w =处理其拆分窗口的行为。我知道tmux(1)具有^b Meta[1-5]的预定义布局,但是这可能不具有我当前正在使用的布局。

分割窗口时,两个窗格的当前窗口减半。再次拆分,它将窗格分成两半。合并垂直和水平拆分,它们继续彼此减半,每个新窗格变得越来越小。

我如何保留刚刚创建的新布局,但保留所有垂直和水平拆分同样均衡,就像vim(1)对^w =一样吗?

评论

对“平铺”布局的描述是:“窗格在行和列中都尽可能均匀地分布在窗口上。”您能解释一下您想要的与这个有什么不同吗?

当然。这说明得很好:gist.github.com/1942422

#1 楼

垂直

select-layout even-vertical
通常分配给:Ctrl + b,Alt + 2

水平


select-layout even-horizontal
通常分配给:Ctrl + b,Alt + 1

评论


对于其他想知道的人:C-b M-2表示Control-b,M-2表示alt + 2。

–克里斯托弗·德·特罗耶(Christophe De Troyer)
2014年6月21日20:49



M-2对我来说使用Gnome Terminal在Debian上意味着ESC + 2。可能取决于设置。

–arcyqwerty
2014年11月24日5:06

C -...和M -...是emacs-ims M-表示“元”,它是[Alt]或[Esc]的组合,后跟引用的键,两个选项在线路上看起来都相同,但是您的GUI可能捕获[Alt]序列的可能性

–詹森
15年7月17日在3:56

只是为了避免对其他人有帮助而将其放在此处,因为我一直感到困惑,“垂直”和“水平”是间距的方向-也就是说,选择偶数垂直将创建一个布局,其中三个窗格堆叠在一起垂直,高度相等,其中偶数水平将创建一个布局,其中三个窗格并排,宽度相等

– A. Wilson
16-3-22在16:20



如何在MacOS上使用键盘上的“ 2”需要按Shift键(例如法语键盘)来执行M-2?我没有成功,但同时使用了alt,控制,命令,转义和shift + 2的各种组合…

– Eric O Lebigot
18年4月7日在9:05



#2 楼

您可以使用ctrl-b空间在具有均匀间距的布局之间循环,但这不一定会保留您拥有的布局。

评论


技巧背后的想法(如果您想将其映射到其他东西或对其进行修改):bind-key -r间隔下一个布局。然后C-b空间Space Space ...

– BenC
2014年11月24日14:01



有没有办法知道我选择了哪种布局,以及如何快速跳转到它?

–休斯
15年4月16日在21:15

#3 楼

在命令行中,您可以使用

tmux select-layout tiled


使拆分的大小大致相等。您也可以将其绑定到键盘命令。

评论


通常分配给:C-b M-5

– minipif
18年1月17日在3:40

#4 楼

我不知道任何单个键的快捷方式,但这也许可以帮助您:

您可以尝试编写一些脚本来进行布局,并将键绑定到脚本。您可以通过使用tmux命令pipe-pane [-o] [-t target-pane] [shell-command]将当前布局写入脚本来实现。接下来,您需要使用tmux命令select-layout阅读脚本编写的布局。

#5 楼

我很难找到将魔咒分成4个相等的象限,所以它是:

# Split session into FOUR EQUAL quadrants
tmux selectp -t 0    # select the first (0) pane
tmux splitw -h -p 50 # split it into two halves
tmux selectp -t 0    # select the first (0) pane
tmux splitw -v -p 50 # split it into two halves

tmux selectp -t 2    # select the new, second (2) pane
tmux splitw -v -p 50 # split it into two halves
tmux selectp -t 0    # go back to the first pane


#6 楼

ctrl b,然后:resize-pane -M,然后只用鼠标! (需要启用mouse-mode