Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terminal Tmux:使用“选择布局”或“下一个布局”更改布局后如何恢复布局?_Terminal_Tmux - Fatal编程技术网

Terminal Tmux:使用“选择布局”或“下一个布局”更改布局后如何恢复布局?

Terminal Tmux:使用“选择布局”或“下一个布局”更改布局后如何恢复布局?,terminal,tmux,Terminal,Tmux,启动新的tmux会话后,我通常在默认窗口中打开多个窗格,然后使用resizepane命令通过快捷方式手动调整它们的大小 在做了一些工作之后,我到达了一个点,或者得到了某种输出,我想快速地垂直或水平地并排查看。因此,我使用“选择布局”或“下一个布局”命令 但是,一旦我完成这些视图,我想回到我最初设置的布局。有什么命令/程序可以让我这样做吗 我不仅无法恢复到原来的布局,而且手动调整大小也无法恢复到原来的布局。您可以使用显示消息捕获当前窗口布局 请注意,这适用于tmux 1.7版或更高版本。如果使用的

启动新的tmux会话后,我通常在默认窗口中打开多个窗格,然后使用resizepane命令通过快捷方式手动调整它们的大小

在做了一些工作之后,我到达了一个点,或者得到了某种输出,我想快速地垂直或水平地并排查看。因此,我使用“选择布局”或“下一个布局”命令

但是,一旦我完成这些视图,我想回到我最初设置的布局。有什么命令/程序可以让我这样做吗


我不仅无法恢复到原来的布局,而且手动调整大小也无法恢复到原来的布局。

您可以使用显示消息捕获当前窗口布局

请注意,这适用于tmux 1.7版或更高版本。如果使用的是旧版本,可以尝试从list windows命令中提取布局字符串。一种方法如下:

layout=$( tmux list-windows | sed -e 's/^.*\[layout \(\S*\)].*$/\1/' )
现在,您可以使用该变量在以后使用select layout恢复布局:


从v2.1开始,Tmux现在已获得此功能,请参见:


*“选择布局”理解“-o”以撤消上次布局更改。

谢谢您的回答。这不太管用,但帮助我进一步探索,我找到了适合我的方法。我必须将第一行替换为:layout=$tmux list windows | sed-e的/^.*[layout\s*].$/\1/,然后我可以使用第二个命令恢复布局。您介意详细介绍一下显示消息方法的工作原理吗?在我的例子中,显示消息只是打印一个字符串窗口_layout}我的tmux版本是1.6,在ubuntu 12.04上,FWIWAh,对不起。我认为我是少数几个仍在使用1.6的人之一:直到后来的版本,显示消息才获得处理{…}样式变量的能力。{window_layout}将为您提供当前窗口的布局字符串,而不必从list-windows的输出中解析相同的字符串。谢谢。我已经编辑了答案,为旧版本添加了解析选项。看来我要升级了。我已经恢复了你的编辑,因为它被拒绝了。为什么?在我有机会投票接受它之前。再次感谢。我不知道被拒绝的原因。我也没有接到通知,谢谢!这太完美了
layout=$( tmux list-windows | sed -e 's/^.*\[layout \(\S*\)].*$/\1/' )
tmux select-layout "$layout"