emacs编译结束后如何自动跳转到*compilation*缓冲区?

How to automatically jump into the *compilation* buffer after the compilation ending in emacs?

Emacs 有一个编译命令打开一个所谓的 *compilation* 缓冲区显示编译结果。 我想将 emacs 配置为在编译结束后自动跳入此缓冲区(无论是否有警告或错误)。

这样做的目的是如果没有错误,我想继续编码关闭*compilation*缓冲区需要跳入它(C-x o)并关闭它(q) 或关闭其他 window (C-x 1),即在键盘上敲击 3 或 4 次。如果*编译*缓冲区是自动选择的,则只需要一个(q)(或者我可以用RET转到错误)。

我看了其他相关帖子,但没有人专门回答这个问题。

将此添加到您的初始化文件:~/.emacs(或~/.emacs.d/init.el

(add-hook 'compilation-finish-functions 'switch-to-buffer-other-window 'compilation)

add-hookcompilation-finish之后添加函数调用。该函数是显式 switch-to-buffer-other-window 并采用参数 compilation ,它再次显式地是 *compilation* 缓冲区的名称。