在emacs中如何控制哪些窗口显示编译结果?

Che*_* Yu 2 emacs erlang

我已经使用emacs进行erlang编程.根据http://emacswiki.org/emacs/CompileCommand,我已配置cc c进行重新编译.在emacs框架中,有6个窗口是打开的,前3个是用于erlang源代码的读写.在下面的窗口中,一个应该是compie窗口.但是当不同的窗口处于活动状态并重新编译时,编译窗口将随机切换.如何在一个特定的窗口中修复它?

phi*_*ils 5

如果你开始阅读C-hf display-buffer RET(或在手册中M-: (info "(elisp) Choosing Window") RET),你会发现一些方法可以修改行为.

它可能会有点复杂,但这样的事情可能就是你在重新编译函数中所需要的:

(let ((display-buffer-overriding-action
       '(display-buffer-reuse-window)))
  (compile))
Run Code Online (Sandbox Code Playgroud)

当我想把东西放在一个地方时,我总是使用专用的窗户,所以你也可能会发现有用的东西:

M-: (info "(elisp) Dedicated Windows") RET

我使用Pin Emacs缓冲区中toggle-window-dedicated函数到windows(用于cscope)(另请参阅如何使此Emacs帧保持其缓冲区而不调整大小?)