如何说服emacs在更改缓冲区时保持在同一帧上?

如何说服emacs在更改缓冲区时保持在同一帧上?,emacs,Emacs,我喜欢使用EmacClient在不同的虚拟桌面上打开新的emacs框架。这非常有效,但当emacs决定切换帧时,如果我切换到一个缓冲区,而该缓冲区已经在一个有焦点的帧中打开,这会很痛苦。有没有办法禁用此帧重用?您需要自定义显示缓冲区的行为(这是由切换到缓冲区和朋友调用的函数)。第二个可选参数框架< /> >需要设置为 nIL/COD>。这样,函数在查找已经打开的缓冲区时只考虑当前帧。还要确保将显示缓冲区重用帧设置为nil(这是默认设置) 检查内置文档:C-hf显示缓冲区RET 不幸的是,显示缓冲

我喜欢使用EmacClient在不同的虚拟桌面上打开新的emacs框架。这非常有效,但当emacs决定切换帧时,如果我切换到一个缓冲区,而该缓冲区已经在一个有焦点的帧中打开,这会很痛苦。有没有办法禁用此帧重用?

您需要自定义
显示缓冲区的行为(这是由
切换到缓冲区和朋友调用的函数)。第二个可选参数<代码>框架< /> >需要设置为<代码> nIL/COD>。这样,函数在查找已经打开的缓冲区时只考虑当前帧。还要确保将
显示缓冲区重用帧
设置为
nil
(这是默认设置)

检查内置文档:
C-hf显示缓冲区RET


不幸的是,
显示缓冲区
通常不直接调用。可能将
切换到缓冲区
重新映射到您的自定义
切换到缓冲区
将是最好的做法。

谢谢,显示缓冲区帮助让我找到了iswitchb代码,它实际上已经为默认缓冲区切换策略提供了自定义挂钩
(setq是witchb默认方法'samewindow)
似乎可以满足我的要求。@samwise谢谢。很高兴知道。