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

时间:2012-01-15 20:10:04

标签: emacs

我喜欢使用emacsclient在不同的虚拟桌面上打开新的emacs框架。这很有效,除了当emacs决定切换帧时,如果我切换到已经在具有焦点的帧之外已经打开的缓冲区,它会很痛苦。有没有办法禁用此帧重用?

1 个答案:

答案 0 :(得分:1)

您需要自定义display-buffer的行为(这是switch-to-buffer和朋友调用的函数)。第二个可选参数FRAME需要设置为nil,以便函数在查找已打开的缓冲区时仅考虑当前帧。另外,请务必将display-buffer-reuse-frames设置为nil(这是默认设置)。

检查内置文档:C-h f display-buffer RET

不幸的是,display-buffer通常不会直接调用。将switch-to-buffer重新定位到您的自定义switch-to-buffer可能是最好的做法。