在另一帧中重用*编译*窗口

时间:2013-05-20 13:45:36

标签: emacs

如何对display-buffer-reuse-frames的某些帧强制执行display-buffer-alist - 行为?

我尝试过做

(setq display-buffer-alist
      '(("\\*compilation\\*" .
         (display-buffer-reuse-window '((inhibit-same-window . t))))
        ))

,但无济于事。即使按照Emacs标准,文档也很长而且含糊不清,并且没有示例。

这与question 3311577不同,因为{@ 1}}已被弃用。

1 个答案:

答案 0 :(得分:3)

听起来您希望在reusable-frames的ALIST参数中使用display-buffer-reuse-window条目,而不是inhabit-same-window? (或许你想要两个?)

您还希望使用add-to-list而不是使用setq破坏整个列表。

编辑:我的原始答案搞砸了列表结构,因为我使用了文档中的虚线对符号,但省略了其中一个点!

所以正确的值是:

(add-to-list
 'display-buffer-alist
 '("\\*compilation\\*" . (display-buffer-reuse-window
                          . ((reusable-frames . t)))))

或等效地:

(add-to-list
 'display-buffer-alist
 '("\\*compilation\\*" display-buffer-reuse-window
                         (reusable-frames . t)))

我还注意到有一个很好的customize界面来配置它。