【发布时间】:2014-05-12 22:19:09
【问题描述】:
昨天,我:q'd Vim 尝试了一段时间的 Emacs。我已经开始使用 Elisp(它比 VimScript 好一百倍),但即使我第一次安装它(通过yum),也没有改变任何东西,它需要大约 30 秒才能启动,并且仍然如此(两个 GUI和-nw)。
我检查了*Messages* 缓冲区:
Loading /usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el (source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/rpmdev-init.el (source)...done
这些文件似乎特定于我安装的 RPM 包。我试着改变他们的名字,但没有任何区别。仍然需要 30 秒。
我已经通过从不退出 emacs(我只是暂停它)并尝试在其中做所有事情来部分解决它,但是偶尔打开两个 Emacs 会很好,特别是因为我倾向于使用终端模拟器的拆分函数而不是像tmux 这样的东西。
我意识到 Emacs 的加载速度会比 Vim 慢,但这对于全新安装来说似乎很荒谬。有人知道发生了什么吗?
谢谢!
【问题讨论】:
-
很多 Emacs 用户实际上每个会话启动一次 Emacs;您可以打开任意数量的帧(登录时启动
emacs -d并运行emacsclient编辑文件)。但是30s的启动时间是不正常的;你有一个包做了一些奇怪的事情。emacs -q加载速度快吗?如果没有,查看 Messages 缓冲区,哪个 init 文件需要很长时间?您从哪里获得 Emacs(哪个发行版的包),以及慢速 init 文件来自哪里? -
emacs -q并不快。删除两个初始化文件并不能解决它。我简单地使用yum install emacs安装了它。根据yum,它被称为emacs.x86_64、1:24.3-11.fc19。 -
哦,对不起,我应该问:
emacs -Q更快吗? (-q不会加载您的个人 init 文件,-Q也不会加载系统 init 文件。)如果是(我怀疑是),那么其中一个系统包就是罪魁祸首。如果没有,这需要更大的枪。运行strace -tt -o emacs.strace emacs -q -nw并发布跟踪。 (即使它是一个暂停很长时间的系统包,这也很有用。) -
为了在 Mac 上为您提供参考,
emacs -Q在 0.05 秒内启动。 “我的”emacs完全配置在 3 秒内启动。 -
哦,我刚刚有了一个巨大的认识。当我启动计算机时,我目前必须手动运行
dhclient em1才能访问互联网。不过,今天我之前启动了 Emacs,加载速度非常快,几秒钟之内。运行命令一段时间后,我再次尝试启动 Emacs,但它又变慢了。我不是 100% 确定这是原因,但似乎是这样。我将重新启动并重试。