如何重新编译emacs使得其在启动时不再闪烁.

各位道友好, 平时coding用vim, 但用emacs来写作, 有个事情一直很困扰我, 就是emacs在启动的时候会闪烁一下, 虽然不影响使用, 但是作为一个完美主义者不太能忍. 所谓的闪烁指的就是像附图一样, 在启动的时候, 会先初始化一个标准的白色窗口, 然后才载入.emacs的配置所指定的主题和配色.

这个初始化时的配色和配置中要求的配置不一致, 导致屏幕重绘才让人感觉到闪烁. 所以想求教各位道友, 有没有什么方法可以重新编译emacs来把一些配色方案和主题内置进去. 总不能需要仔细读emacs代码吧.Emacs_blink

不需要重编译在eare-init.el中load-theme就行了 ,只能是原生主题,在这包没有初始化doom主题不能用

闪的窗口大小还跟字体大小有关呢!

或者可以试试 daemon mode

试试懒猫大神的方法,提前设置和主题背景一样的配色。

1 个赞

eare-init.el是指在init.el文件的最开头的意思么, 没有搜到eare-init.el这个文件, 搜索引擎里貌似也没有多少信息?

@shanyouli 哈哈哈哈哈哈, 试着在配置文件最前面加了这行代码, 果然立马就不闪了. 太感谢了.

early-init.el。是27引入的机制,会在init.el前面执行。

原来如此, 我现在还在用26.3, 等正式版发布了研究研究. 刚开始用, 好多东西不懂. 多谢大神指点.

你说得很对, 解决了配色的问题后, 我又研究了一下窗口的问题, 目前找到的解决办法是, 在 /Applications/Emacs.app/Contents/MacOS/中将Emacs重命名为Emacs_origin, 然后新建一个可执行的Emacs, 指向它(我实际指向的是Emacs-x86_64-10_14, 因为我发现其实原来的emacs也只是一个ruby快捷方式, 指向不同系统版本的不同可执行文件, 于是我直接指向我的10.14系统的真实可执行文件)

#!/bin/sh

“/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_14” -geometry 141x39 -font “Consolas-17”

这样直接指定字体和窗口大小, 这样就不会闪了.

另外我还把系统的fringe indicator改了.

唉, 终于搞完了, 这几个小东西搞了很久.

终于是一个看起来好看功能又强大的写作工作了.

1 个赞

我还根据这个配置方件的框架把我的配置文件重新搞了一下, 现在启动速度也快了好多, 再次感谢大神推荐.

感谢,我也把闪烁搞定了

emacs -g 151x50 -font "SF Mono-13"