在最近的Emacs中的其他窗口中显示缓冲区

时间:2012-05-09 10:43:46

标签: emacs window buffer

如何以编程方式在窗口other than the current中显示缓冲区,类似于Emacs的grep next-error的行为。我希望这可以在最新的Emacs 24.1中使用。请注意,此逻辑最近在Emacs主干中进行了修改,并合并为单个函数display-buffer,具有相当复杂的调用语义。我发现即使在多次阅读帮助之后,也很难弄清楚如何使用display-buffer。为什么没有这样的包装函数,例如display-buffer-other-window

3 个答案:

答案 0 :(得分:5)

display-buffer的冗长文档字符串包含以下内容:

  

`display-buffer'的ACTION参数也可以是非nil   和非列表值。这意味着在窗口中显示缓冲区   除了选定的一个,即使它已经显示在   选定的窗口。如果使用前缀以交互方式调用   论证,行动是t。

因此,要在当前窗口以外的窗口中显示指定的缓冲区,可以使用:

(display-buffer BUFFER-OR-NAME t)

答案 1 :(得分:3)

Emacs的消息来源给了我答案

(pop-to-buffer BUFFER 'other-window)

答案 2 :(得分:3)

包装器存在,BTW,它被称为switch-to-buffer-other-window