在emacs中使用两个帧时,可以通过以下方法防止编译缓冲区同时出现:
display-buffer-alist
变量:可以通过设置display-buffer-alist
变量来控制不同类型的缓冲区如何显示。可以将编译缓冲区的显示方式设置为只在一个帧中显示,而不是同时出现在两个帧中。具体的配置可以在emacs的配置文件中添加如下代码:(add-to-list 'display-buffer-alist
'("\\*compilation\\*" . (display-buffer-reuse-window)))
这样配置后,当编译缓冲区出现时,emacs会尝试在已有的窗口中显示,而不是新建一个窗口。
pop-to-buffer
函数:可以使用pop-to-buffer
函数将编译缓冲区显示在指定的窗口中。可以在emacs的配置文件中添加如下代码:(defun my-display-compilation-buffer (buffer &optional action)
(let ((display-buffer-overriding-action
'(display-buffer-reuse-window (inhibit-same-window . t))))
(pop-to-buffer buffer display-buffer-overriding-action)))
(setq compilation-display-function #'my-display-compilation-buffer)
这样配置后,当编译缓冲区出现时,emacs会尝试将其显示在当前窗口中,而不是新建一个窗口。
以上两种方法可以根据个人喜好选择其中一种进行配置,以防止编译缓冲区同时出现在两个帧中。
领取专属 10元无门槛券
手把手带您无忧上云