2013-11-26 48 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

相关问题