【发布时间】:2015-06-18 23:34:43
【问题描述】:
我已经使用 emacs 很多年了。过去一年左右,有一个烦人的问题,就是有时 Ibuffer 或编译缓冲区运行在我已经在的同一个窗口中。我通常打开 2 个缓冲区,一个在另一个之上。我总是希望 Ibuffer 在我目前不在的那个中打开。但它似乎是随机选择的。这是错误还是功能?我能阻止它吗?我已经多次搜索答案,但我没有找到答案。我在终端中运行 GNU Emacs 24.5.1。谢谢。
【问题讨论】:
-
另一个窗口是否被强烈专用,这就是为什么您当前的窗口被选中的原因? gnu.org/software/emacs/manual/html_node/elisp/… 你可能想测试另一个窗口。打开
ibuffer.el源代码并寻找负责显示缓冲区的代码怎么样——M-x find-library RET ibuffer RET——你会寻找类似的东西:(if other-window-p (funcall (if noselect (lambda (buf) (display-buffer buf t)) #'pop-to-buffer) buf) (funcall (if noselect #'display-buffer #'switch-to-buffer) buf)) -
如何自定义变量
ibuffer-use-other-window-- 它有一个文档字符串说明:“如果非零,默认在另一个窗口中显示Ibuffer。”默认值为nil。我建议您考虑将这个问题编辑/限制为ibuffer并为compilation窗口打开一个新问题(如果谷歌没有点击)——我猜@987654329 可能有很多线程@window,但我自己没看过。 -
自定义 ibuffer-use-other-window 似乎没有帮助。为了重现,我用
emacs .启动emacs,然后执行^x-b,然后点击n 让光标到scratch,点击return 打开scratch,然后执行^x-b再次。它在与 scratch 相同的窗口中打开 ibuffer,顶部窗口带有目录列表,底部窗口带有 scratch。
标签: emacs