I use Emacsv. 22(控制台版本,可以远程使用PuTTY或本地与Konsole)作为我在 Linux 上的主要文本编辑器。每次启动时都需要一段时间来加载,可能几乎一秒钟,尽管我从未计时。我经常打开和关闭 Emacs,因为我更喜欢使用Bash用于文件/目录操作和编译的命令行。
如何加快启动时间?
其他人已经介绍了使用gnuserve
and emacsclient
,我建议在 emacs 中进行编译(能够跳转到编译错误是一个胜利)。
但是,可以通过以下方式专门加速 .emacs:
字节编译 .emacs 文件,您可以使用以下命令自动执行此操作这段代码
替换尽可能多的(require 'package)
声明与autoloaded 功能。这将延迟 Lisp 的加载,直到实际需要时才加载。使用这种技术可以让我将启动速度从 >6 秒缩短到 autoload.
删除您不再使用的代码/功能。
尝试使用以下选项运行 emacs--no-site-file
避免在站点安装中加载不必要的包site-start.el
.
如果您真的很认真,您可以推出自己的 emacs,并加载您最喜欢的功能。当然,这意味着需要更多地参与对您现有的内容进行更改。.emacs
因为它是二进制文件的一部分。点击链接获取有关如何使用的信息dump-emacs.
购买更快的计算机和/或更快的磁盘。
如何确定 .emacs 加载的内容
现在,如何找出 .emacs 加载的内容?目标是删除该功能,还是延迟它?检查你的*Messages*
缓冲区,其中包含以下行:
Loading /home/tjackson/.emacs.tjackson.el (source)...
Loading /home/tjackson/installed/emacs/lisp/loaddefs.el (source)...done
Loading /user/tjackson/.elisp/source/loaddefs.el (source)...done
Loading autorevert...done
Loading /home/tjackson/.emacs.tjackson.el (source)...done
如果您注意到的话,Loading
语句可以嵌套:第一个.emacs.tjackson.el
以。。结束...
最后一行显示.emacs.tjackson.el
负载是...done
。所有其他文件都是从我的内部加载的.emacs.tjackson.el
文件。所有其他负载都是原子的。
Note:如果您有一个很大的 .emacs,则可能*Messages*
buffer 会丢失一些消息,因为它只保留固定数量的信息。您可以尽早将此设置添加到您的.emacs
保留所有消息:
(setq message-log-max t)
Note: It the 'load命令将抑制消息,如果它的第四个参数nomessage
是非零,所以删除任何这样的调用(或者,建议'load
并强制第四个参数为nil
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)