gpt4 book ai didi

emacs - 如何让 Emacs 启动更快?

转载 作者:行者123 更新时间:2023-12-03 05:28:00 26 4
gpt4 key购买 nike

我使用Emacs v.22(控制台版本,远程使用 PuTTY 或本地使用 Konsole )作为我在 Linux 上的主要文本编辑器。每次启动时都需要一段时间来加载,可能几乎一秒钟,尽管我从未计时。我倾向于经常打开和关闭 Emacs,因为我更喜欢使用 Bash用于文件/目录操作和编译的命令行。

如何加快启动时间?

最佳答案

其他人已经介绍了使用 gnuserveemacsclient,我建议在 emacs 中进行编译(能够跳转到编译错误是一个胜利)。

但是,可以通过以下方式专门加速 .emacs:

  1. 字节编译 .emacs 文件,您可以使用 this snippet of code 自动执行此操作

  2. 将尽可能多的 (require 'package) 语句替换为 autoload ed 功能。这将延迟 Lisp 的加载,直到实际需要时才加载。使用这种技术可以让我将启动速度从 >6 秒缩短到 <1 秒。这需要一些工作,因为并非所有库都正确标记了 autoload

  3. 删除您不再使用的代码/功能。

  4. 尝试使用选项--no-site-file运行emacs,以避免在站点安装site-start.el中加载不必要的包。

  5. 如果您真的很认真,您可以推出自己的 emacs,并已加载您最喜欢的功能。当然,这意味着对 .emacs 中的内容进行更改需要更多的工作,因为它是二进制文件的一部分。点击链接了解如何使用 dump-emacs 的信息.

  6. 购买更快的计算机和/或更快的磁盘。

如何确定 .emacs 加载的内容

现在,如何找出 .emacs 加载的内容?目标是删除该功能,还是延迟它?检查您的 *Messages* 缓冲区,其中包含以下行:

Loading /home/tjackson/.emacs.tjackson.el (source)...Loading /home/tjackson/installed/emacs/lisp/loaddefs.el (source)...doneLoading /user/tjackson/.elisp/source/loaddefs.el (source)...doneLoading autorevert...doneLoading /home/tjackson/.emacs.tjackson.el (source)...done

If you'll notice, the Loading statements can nest: the first .emacs.tjackson.el ends with ... and the last line shows the .emacs.tjackson.el load is ...done. All those other files are loaded from inside my .emacs.tjackson.el file. All the other loads are atomic.

Note: If you have a large .emacs, it's possible that the *Messages* buffer will lose some of the messages because it only keeps a fixed amount of information. You can add this setting early on to your .emacs to keep all the messages around:

(setq message-log-max t)

注意:它是 'load如果第四个参数 nomessage 不为 nil,命令将抑制消息,因此删除任何此类调用(或者建议 'load 并强制第四个参数为 )。

关于emacs - 如何让 Emacs 启动更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com