这不是一个简单的答案,但 display-buffer-alist 中的适当条目可以告诉 display-buffer 始终使用您想要的帧作为新缓冲区的目标。
在 24.1 中,文档是:
display-buffer-alist 是在 `window.el' 中定义的变量。它的值为 nil
如果用作文件局部变量,此变量可能会有风险。
文档:“显示缓冲区”的条件操作列表。这是一个元素列表 (CONDITION . ACTION),其中:
CONDITION 要么是一个匹配缓冲区名称的正则表达式,要么是一个接受两个参数的函数——一个缓冲区名称和 `display-buffer' 的 ACTION 参数——并返回一个布尔值。
ACTION 是一个 cons 单元格 (FUNCTION . ALIST),其中 FUNCTION 是一个
函数或函数列表。每个这样的函数都应该接受两个参数:一个要显示的缓冲区和一个与 ALIST 格式相同的列表。有关详细信息,请参阅“显示缓冲区”。
`display-buffer' 扫描这个列表,直到找到匹配的正则表达式或条件指定的函数返回非零。在任何这些情况下,它都会将关联的操作添加到它将尝试的操作列表中。
您可以自定义此变量。
在 Emacs 的 24.1 版本中引入了这个变量,或者改变了它的默认值。