首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在emacs中使用两个帧时,如何防止编译缓冲区同时出现?

在emacs中使用两个帧时,可以通过以下方法防止编译缓冲区同时出现:

  1. 使用display-buffer-alist变量:可以通过设置display-buffer-alist变量来控制不同类型的缓冲区如何显示。可以将编译缓冲区的显示方式设置为只在一个帧中显示,而不是同时出现在两个帧中。具体的配置可以在emacs的配置文件中添加如下代码:
代码语言:emacs-lisp
复制
(add-to-list 'display-buffer-alist
             '("\\*compilation\\*" . (display-buffer-reuse-window)))

这样配置后,当编译缓冲区出现时,emacs会尝试在已有的窗口中显示,而不是新建一个窗口。

  1. 使用pop-to-buffer函数:可以使用pop-to-buffer函数将编译缓冲区显示在指定的窗口中。可以在emacs的配置文件中添加如下代码:
代码语言:emacs-lisp
复制
(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会尝试将其显示在当前窗口中,而不是新建一个窗口。

以上两种方法可以根据个人喜好选择其中一种进行配置,以防止编译缓冲区同时出现在两个帧中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你不知道的Mac屏幕显示图像

首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描。为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号。当电子枪换到新的一行,准备进行扫描时,显示器会发出一个水平同步信号(horizonal synchronization),简称 HSync;而当一帧画面绘制完成后,电子枪回复到原位,准备画下一帧前,显示器会发出一个垂直同步信号(vertical synchronization),简称 VSync。显示器通常以固定频率进行刷新,这个刷新率就是 VSync 信号产生的频率。尽管现在的设备大都是液晶显示屏了,但原理仍然没有变。

07
领券