好吧,也许这对于超级用户网站来说可能更像一个问题,但我认为在stackoverflow上会有更多的emacs用户。
基本上我经常将我的emacs拆分成大约4个窗口,所以我可以同时查看一堆缓冲区..但是我希望能够使用Cx 1(使窗口与emacs的大小相同)然后以某种方式恢复到我刚刚看到的漂亮的4窗口布局。
有没有一种简单的方法可以做到这一点,还是需要一些elisp / lisp(注意:我不知道任何elisp。)
谢谢! 约翰。
答案 0 :(得分:22)
尝试winner-mode。
启用优胜者模式后,您可以使用 C-c < left> 恢复以前的窗口配置。
您可以反复键入它以退回窗口配置历史记录,这样即使存在多个干预更改,您也是安全的。
C-c < right> 将您(直接)返回到最新的配置。
答案 1 :(得分:10)
我确信有一些不同的解决方案,但我使用:
用于存储窗口配置的Cx rwx 和用于恢复它的 Cx rjx ,其中 x 是用于存储它的寄存器的名称
然后,我也喜欢winner-mode,它允许使用winner-undo
和winner-redo
切换回以前的窗口配置(我绑定到 C - ^ 和< kbd> Cc ^ 因为我无法忍受默认设置的绑定 Cc&lt; left&gt; 和 Cc&lt; right&gt; 。
答案 2 :(得分:3)
(winner-mode 1)
是我首选的通用解决方案(我会敦促任何尚未使用它的人立即将其添加到他们的init文件中),但是也值得指出这个特定问题(最大化单个窗口和然后返回到先前的配置),只需创建一个新框架就可以很好地工作。
在终端中,它完全无缝。使用GUI Emacs,如果您的新帧自动全屏(或者您更喜欢它们),那就没问题了,但如果您手动调整它们的大小,那就没那么好了。
答案 3 :(得分:1)
您还应该在要关闭的窗口中尝试C-x 0
,因为它会关闭该特定窗口而不关闭任何其他窗口。我认为大多数人在大多数情况下都会使用C-x 1
。
答案 4 :(得分:0)
我使用escreen.el进行多个工作区管理,但作为副作用,每个工作区都会记住窗口配置。所以,你可能会发现它是一个有用的包。
其他人建议elscreen而不是escreen,但我还没有使用过这个软件包。所以我不能说它是否也保留了工作空间的窗口配置。
答案 5 :(得分:0)
http://www.emacswiki.org/emacs/frame-cmds.el
请参阅命令maximize-frame
和restore-frame
(又名toggle-frame
)。还有命令maximize-frame-horizontally
,maximize-frame-vertically
,restore-frame-horizontally
和restore-frame-vertically
。