26

我使用两台显示器,并且经常使用打开两个框架的 emacs;每个监视器一个。每个框架被分成两个并排的窗口,如下所示:

 a | b   <-- frame 1 in monitor 1
-------
 c | d   <-- frame 2 in monitor 2

当我在窗口 a 中点击“编译”按钮时,编译缓冲区会在它旁边的缓冲区中打开。到现在为止还挺好:

 a | compilation
-----------------
 c |     d

但是,如果我然后移动到窗口 c 来编辑一些东西,然后再次点击编译,窗口 d 也会访问编译缓冲区:

 a | compilation
------------------
 c | compilation

所以现在我有一半的屏幕空间被同一个编译缓冲区的两个副本占用,想知道为什么我有两个监视器:)

我可以通过认真地只在光标位于当前打开的编译缓冲区旁边的缓冲区中时才按编译键来防止这种情况发生,但是我这么早而且经常点击“编译”,以至于我通常没有心思这样做. 我觉得必须有一些我可以在 .emacs 中调整的东西,所以我不应该这样做。

有什么建议么?理想情况下,当我点击“编译”时,当前打开的编译缓冲区应该从其上一个窗口移动到当前使用的窗口旁边的一个。如果这太复杂了,我很容易让 emacs访问相邻窗口中的编译缓冲区,如果它已经在另一个窗口中打开的话。

4

1 回答 1

29
(setq-default display-buffer-reuse-frames t)

从文档中:

非零意味着“显示缓冲区”应该重用帧。如果有问题的缓冲区已经显示在一个框架中,则提升该框架。

于 2010-07-22T21:08:04.457 回答