如果我在 emacs 中只显示一个窗口并使用 M-x 编译,则该窗口会一分为二,我可以轻松查看编译缓冲区。但是,如果我显示更多窗口,编译日志就会接管其他窗口之一,这让我感到恼火。如何让emacs始终分割一个新窗口来显示编译日志?
编辑:从我一直在做的阅读中获得更多信息。看起来compile.el调用了display-buffer,它只在当前全宽的情况下分割窗口。有什么方法可以避免这种行为吗?
您可以修改以下提供的解决方案特雷·杰克逊 https://stackoverflow.com/questions/745694/how-can-i-make-the-compilation-log-create-a-new-window-in-emacs/746071#746071以满足您的需求。
以下代码片段标记缓冲区*compilation*
作为特殊,并设置一个自定义函数作为其显示函数来分割当前窗口,即使已经在分割窗口中。
(setq special-display-buffer-names
'("*compilation*"))
(setq special-display-function
(lambda (buffer &optional args)
(split-window)
(switch-to-buffer buffer)
(get-buffer-window buffer 0)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)