更好地控制 Emacs 窗口
我花了很多时间在 emacs 上,大部分时间它都很棒。 但当我深入其中时,有一件事真的让我发疯,那就是控制在哪个窗口中打开各种新缓冲区。当我执行 find-file
时,它总是在当前窗口中打开,这就是我喜欢的。 但还有很多其他模式喜欢为我分割窗口、更改布局以及做各种其他让我烦恼的事情。 例如,运行Mxmanual-entry
似乎对于在哪里打开手册页没有押韵或原因,并且各种org-mode
命令执行相同的操作,关闭我想要的窗口保持开放等。我不喜欢每次想查看我的 org
议程或打开联机帮助页时都必须重做布局。
简而言之,是否有办法全局控制哪些窗口用于想要在当前窗口以外的窗口中打开的模式? 我可以更轻松地指导他们吗? 或者我是否必须破解每种模式才能按照我想要的方式行事?
I spend a lot of my time in emacs, and for the most part it's wonderful. But one thing really drives me nuts when I'm deep in it, and that's control over which window various new buffers are opened in. When I do find-file
, it always opens in the current window, and this is what I like. But tons of other modes like to split my windows for me, change the layout, and do various other things that annoy me. For example running M-x manual-entry
seems to have no rhyme or reason about where it opens the manpage, and various org-mode
commands do the same thing, closing windows I want to keep open, etc. I don't like having to redo my layout everytime I want to look at my org
agenda or open a manpage.
In short, is there anyway to globally control which windows are used for modes that want to open in a window other than the current one? Can I direct them more easily? Or will I have to hack each mode to act the way I want it to?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试获胜者模式:
http://www.emacswiki.org/emacs/WinnerMode
它提供了撤消/redo 用于更改窗口配置。
Try Winner mode:
http://www.emacswiki.org/emacs/WinnerMode
It provides an undo/redo for changes to the window configuration.
这个问题也一直困扰着我。 我发现了这个:
http://www.gnu.org/software/emacs/ elisp/html_node/Choosing-Window.html
看起来您可以使用 (setf pop-up-frames t) 使内容显示在新框架中。
另外,看起来你可以使用 display-buffer-function 来覆盖显示函数(如何选择缓冲区)。当然,你必须擅长 elisp。
This question has always bugged me too. I found this:
http://www.gnu.org/software/emacs/elisp/html_node/Choosing-Window.html
It looks like you can use (setf pop-up-frames t) to make stuff show up in a new frame.
Also, it looks like you can use display-buffer-function to override the display function (how buffers are chosen.) Of course, you'd have to be good at elisp.