我使用两台显示器,经常使用两帧打开的emacs;每个监视器一个。每个帧被分成两个并排的窗口,如下所示:
a | b <-- frame 1 in monitor 1
-------
c | d <-- frame 2 in monitor 2
当我在窗口a中点击我的'compile'按钮时,编译缓冲区在它旁边的缓冲区中打开。到目前为止一切顺利:
a | compilation
-----------------
c | d
但是,如果我转到窗口c编辑一些东西,然后再次点击编译,窗口d也会访问编译缓冲区:
a | compilation
------------------
c | compilation
所以现在我有一半的屏幕空间占用了同一个编译缓冲区的两个副本,想知道为什么我有两个监视器:)
当我的光标位于当前打开的编译缓冲区旁边的缓冲区中时,我可以通过认真地仅按下编译键来防止这种情况,但是我这么早地点击'compile'并且经常我通常没有心灵的存在这样做。我觉得必须有一些我可以在.emacs中调整的内容,所以我不应该这样做。
有什么建议吗?理想情况下,当我点击'compile'时,当前打开的编译缓冲区应该从其前一个窗口移动到当前使用的窗口旁边的窗口。如果这太复杂了,我很容易满足于让emacs 不访问相邻窗口中的编译缓冲区,如果它已经在另一个窗口中打开了。
答案 0 :(得分:28)
(setq-default display-buffer-reuse-frames t)
来自文档:
非零意味着`display-buffer'应该重用帧。 如果有问题的缓冲区已经显示在框架中,请加注 那个框架。