我最近添加了行

(set-default-font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1")

到我的.emacs文件。在那之后 find-file-other-window 总是打开一个新窗口,而不是使用现有窗口。为什么会发生!?我该如何解决?

我不明白所有这些字体config魔法如何有效,所以如果很明显,我很抱歉。

编辑:我的分辨率很大,并且我的字体尺寸大大降低了。做 find-file-other-window 考虑到可用的角色空间?也许它决定有很多空间可以负担得起的空间,只需打开Windows Nilly即可。

有帮助吗?

解决方案

find-file-other-window 最终打电话 display-buffer, ,它运行了一种复杂的算法来决定是重复使用现有窗口还是制作一个窗口以及如何使用。特别是 display-buffer 确定它需要创建或回收窗口,尝试调用 split-window-preferred-function 拆分最大的窗口。默认, split-window-preferred-functionsplit-window-sensibly, ,如果窗口超过 split-height-threshold 线高,或者如果它们超过 split-width-threshold 柱宽。

看起来你想要

(setq split-width-threshold nil)
(setq split-height-threshold nil)

NB此答案适用于GNU EMACS 23.早期版本没有水平分裂。以后的版本可能会做不同的事情。


几种方法可以找到这一点(没有直接):

  • 如果您猜测发生的事情称为拆分窗口: M-x apropos RET split RET 显示许多变量和功能,您可能会发现哪些相关。或者,如果您猜测有一个选项(通常是), C-h v split- TAB 显示有希望的线索。
  • 文件 find-file-other-window 参考 显示缓冲区. 。 (您必须转到ELISP手册以获取此级别的细节;在Emacs中, C-h i m elisp RET 提出ELISP手册,然后 i find-file-other-window RET 引导您获取此功能的文档。)尚不清楚 pop-to-buffer 是在那里阅读的段落;它引用 选择窗口 其中包含所追求的信息。
  • C-h f find-file-other-window RET 显示该功能的内置文档。它链接到 display-buffer. 。描述 display-buffer 不会详细描述其操作,因此您需要从上面咨询ELISP手册或探索的来源 display-buffer 通过单击 window.el.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top