2013-11-26 81 views
2

我有兩個相同Emacs實例的框架(通過C-x 5 2獲得它們)並在其中一個框架中打開了一個文件。然後我嘗試在另一個幀的緩衝區中顯示這個文件(由C-x b),並沒有任何反應。如何讓emacs允許在不同的框架中打開一個緩衝區?

實際上,我認爲它在第一幀顯示緩衝區中的這個文件,但這不是我想要的。我希望它在兩個框架中顯示此緩衝區。

當只有一個框架和一些窗口時,在不同的窗口中打開一個緩衝區是沒有問題的。我想要相同的行爲,但有幾個框架。

+0

假設您希望緩衝區A顯示在第2幀中,我有以下問題:如果您在第1幀中查看緩衝區A,是否要將焦點切換到第2幀,並將焦點放在緩衝區A上?或者,您是否更喜歡將焦點放在幀號1上,並將焦點放在緩衝區A上?另外,我是否正確地假設你開始專注於幀號1中的緩衝區A;或者你最初是否專注於幀號1中的另一個緩衝區(例如,緩衝區B,C,D等)?你是否已經嘗試'切換到緩衝區其他幀?如果是這樣,那麼這種行爲與你的目標有什麼不同呢? – lawlist

回答

2

很可能你使用的是iswitch,因爲你所描述的是它的默認行爲。

你可以通過做M-x customize-variable RET iswitchb-default-method來改變它。可能你想要選擇samewindow

如果你正在使用它,ido等效變量是ido-default-buffer-method(ido默認爲raise-frame,這與你觀察到的行爲不匹配)。

您可能會發現,如果您使用@O​​laf描述的方式使用其中一種。

+0

謝謝!這正是我的問題。我使用'ido',並且在將'ido-default-buffer-method'改成'Show in selected window'而不是'Raise frame if if already shown'之後,所有的工作都是按照我想要的。 – krvkir

0

也許,你有C-x b重新定義。我與iswitch-buffer有相同的行爲。但是當我輸入M-x切換到緩衝區時,它會在第二個窗口中顯示緩衝區。

你可以發現,哪個命令是用C-h c C-x b執行的。

+0

是的,沒錯,'C-x b'被定義爲'iswitch-buffer'。 – krvkir

相關問題