2010-07-22 52 views
26

我使用兩臺顯示器工作,並且經常使用兩個打開的框架的emacs;每個顯示器一個。每一幀被分成兩個並排側車窗,像這樣:在emacs中使用兩幀時,如何防止編譯緩衝區出現在​​兩者中?

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

當我打我的「編譯」按鈕,而在窗口中,編輯緩衝區在緩衝區中打開它旁邊。到目前爲止好:現在

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

所以我:

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

但是,如果我再移動到窗口C到編輯一些東西,然後打一次編譯,窗口d訪問編譯緩存以及有一半的屏幕空間被相同編譯緩衝區的兩個副本佔用,想知道爲什麼我有兩個監視器:)

我可以通過認真地只有在我的光標位於下一個緩衝區時點擊編譯鍵來防止此問題到當前打開的編譯緩衝區,但是我很早就打了'compile'往往我通常沒有這樣做的存在。我覺得必須有一些我可以在.emacs中調整的東西,所以我不應該這樣做。

有什麼建議嗎?理想情況下,當我點擊「編譯」時,當前打開的編譯緩衝區應該從其前一個窗口移動到當前使用的窗口旁邊的窗口。如果這太複雜了,我會很容易地讓emacs 而不是訪問相鄰窗口中的編譯緩衝區,如果它已經在另一個窗口中打開了。

+1

輝煌的問題 - 從未考慮使用emacs之前的設置! – cristobalito 2010-07-22 22:31:56

回答

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

從文檔:

非零意味着`顯示緩衝器」應該重用幀。 如果有問題的緩衝區已經顯示在一個框架中,請提出該框架。

+0

非常好,謝謝! – SuperElectric 2010-07-22 21:25:39

+3

'此變量自24.3開始已過時;在'display-buffer-alist'中使用'可重用幀'alist條目 – cYrus 2015-01-03 13:02:37

相關問題