如何让 Emacs 启动更快?

2023-11-22

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

如何加快启动时间?


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

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

  1. 字节编译 .emacs 文件,您可以使用以下命令自动执行此操作这段代码

  2. 替换尽可能多的(require 'package)声明与autoloaded 功能。这将延迟 Lisp 的加载,直到实际需要时才加载。使用这种技术可以让我将启动速度从 >6 秒缩短到 autoload.

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

  4. 尝试使用以下选项运行 emacs--no-site-file避免在站点安装中加载不必要的包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)...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(使用前将#替换为@)

如何让 Emacs 启动更快? 的相关文章

  • 为什么在 CSS3 中启用硬件加速会降低性能?

    我在 css3 实验中将 10 000 个小 div 元素从浏览器视口的顶部移动到底部 对于此测试 我使用两种不同的方法 使用 GPU 加速translate3D x y z or translateZ 0 无需 GPU 加速 只需调整to
  • Android 7 GraphicBuffer 替代方案,用于直接访问 OpenGL 纹理内存

    从移动设备具有 CPU 和 GPU 共享内存这一事实中获利的唯一方法是使用GrphicBuffer 但由于 Android 7 限制对私有本机库 包括 gralloc 的访问 因此无法再使用它 问题 是否有其他方法可以直接内存访问纹理的像素
  • 在 Java 中有效地对图像进行颜色循环

    我正在编写一个曼德尔布罗分形查看器 我想以智能的方式实现颜色循环 给定一个图像 我想修改它的 IndexColorModel 据我所知 没有办法修改 IndexColorModel 也没有办法为图像提供新的 IndexColorModel
  • 使用 Java-Large 文件查询 JSON 文件

    我正在尝试使用 java 解析下面的 JSON 文件 我需要能够 按 ID 或名称或对象中的任何字段搜索文件 也在字段中搜索空值 搜索应返回整个对象 该文件将会很大 并且搜索应该仍然很省时 id 1 name Mark Robb last
  • 字节数组的快速位移 - CMAC 子键

    我需要尽可能快地实现 16 字节数组的左移JavaCard 我尝试了这段代码 private static final void rotateLeft final byte output final byte input short car
  • Asp.net Mvc OutputCache属性和滑动过期

    Calling http foo home cachetest for UrlRoute Path home cachetest OutputCache Duration 10 VaryByParam none public ActionR
  • mysql查询先慢后快

    我有 2 个 myISAM 表 分别称为 tests 和 completed tests 一个有 170 个条目 另一个有 118k 条目 当我运行此查询时 SELECT ct archive ct status ct score ct u
  • n的渐近增长选择下限(n/2)

    如何找到 n select Floor n 2 的渐近增长 我试过 使用扩展并得到它等于 n n 1 floor n 2 1 n floor n 2 知道我该如何从那里去吗 感谢任何帮助 更喜欢提示而不是答案 我同意上面的答案 但想提供更多
  • UI5 性能参数:data-sap-ui-preload 与 data-sap-ui-async

    不同的SAPUI5性能指南提到了两个关键参数 它们似乎具有相似的性质 但解释略有不同 data sap ui preload async https help sap com viewer b4b7cba328bc480d9b373c7da
  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • Java 反射性能

    使用反射创建对象而不是调用类构造函数是否会导致任何显着的性能差异 是的 一点没错 通过反射查找类是 按幅度 更贵 Quoting Java关于反射的文档 http java sun com docs books tutorial refle
  • CSS3 - 性能最佳实践是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法在 Emacs 中打开 plantuml 模式

    我使用的是 Emacs 24 3 1 我安装了MELPA http melpa milkbox net 的版本plantuml mode https github com zwz plantuml mode via M x package
  • 频繁插入已排序的集合

    我已经对集合 列表 进行了排序 并且我需要始终保持其排序 我目前在我的集合上使用 List BinarySearch 然后在正确的位置插入元素 我也尝试过在每次插入后对列表进行排序 但性能不可接受 有没有一种解决方案可以提供更好的性能 也许
  • ess-rdired:我收到此错误“现在没有 ESS 进程与此缓冲区关联”

    To use ess rdired为了浏览对象 我按照 ESS 手册并将以下内容添加到我的 emacs autoload ess rdired ess rdired View R objects in a dired like buffer
  • Numpy 与 Cython 速度

    我有一个分析代码 它使用 numpy 执行一些繁重的数值运算 只是出于好奇 尝试使用 cython 进行少量更改来编译它 然后我使用 numpy 部分的循环重写它 令我惊讶的是 基于循环的代码要快得多 8 倍 我无法发布完整的代码 但我整理
  • 如何使用资源模块来衡量函数的运行时间?

    我想使用Python代码测量函数的CPU运行时间和挂钟运行时间 此处建议资源模块 如何以 Python 代码 不是从终端 的形式分别测量函数的 CPU 运行时间和挂钟运行时间 https stackoverflow com q 192046
  • Emacs Lisp 中函数名称中的“internal”是什么意思?

    有些人使用双破折号来表示该功能可能会发生变化 函数名称中的双减号 约定在 Emacs Lisp 中意味着什么 https stackoverflow com questions 3180390 what does the double mi
  • 在 emacs 的文件中不断出现的这些 ^M 是什么?

    我认为这可能与 TextMate 有关 但我们在一个小团队中工作 并且在 git 中几乎相同的文件的全文件冲突方面遇到了一些问题 在一个分支中 文件的每一行都附加了 M 这是什么神秘的事 M角色应该做什么 它从哪里来 我们的开发人员在 Wi
  • 字节编译宏时出现“返回的值未使用”警告

    为什么对以下内容进行字节编译会产生警告 defmacro foomacro shiftcode defun foo optional arg interactive concat shiftcode p message arg is i a

随机推荐

  • IAP - 如果内容下载失败或收据无效,如何取消购买交易?

    我正在尝试用 IAP 来解决一些问题 在文档中 我看到只有在为用户成功下载购买的内容后 我才需要调用完成交易 您的应用程序应仅在成功处理交易并解锁用户购买的功能后调用 finishTransaction 我有这样的情况 用户购买内容 购买完
  • 如何在 Azure Dev Ops 中编辑视图和编辑发布管道的 YAML 文件?

    我已通过修改管道 YAML 文件在 Azure Dev Ops 上成功构建了代码 但我无法成功将该项目部署到我的 IIS 服务器 创建部署的唯一方法是使用其令人不快的 UI 我读到 通过打开多管道预览功能 您可以查看和编辑 YAML 文件
  • 核心数据不支持带有 ALL 和 IN 的谓词

    我有一个这样的请求 NSPredicate predicate NSPredicate predicateWithFormat ANY attributes attribute attributeId IN attributeIds 这将返
  • 无法通过 IP 和命名实例远程连接到 SQL 2012

    首先 我已经知道 Windows 防火墙正在阻止我的连接 我只是不知道该怎么办 当我完全关闭 WF 时 我的远程连接可以正常工作 我已经有一条规则允许端口 1433 传入请求 这似乎是正确的端口 但我不确定 现在了解更多详细信息 我的远程专
  • Firemonkey Mobile 中的 Bidi 从右到左语言

    如何使用 FireMonkey 在 Android 或 iOS 中以从右到左的语言 例如波斯语或阿拉伯语 显示任何字符串 我使用 Embarcadero Rad Studio XE6 Delphi 当我放置 TLabel 或 TEdit 并
  • 如何在 Java 字符串的正则表达式中使用开始和结束标记?

    为什么以下内容没有为我在 Android 中更改文本 String content test n test ntest content content replaceAll
  • 使用 lm() 进行线性回归 - 对结果感到惊讶

    我对已有的数据进行了线性回归 使用lm功能 一切正常 没有错误消息 但我对结果感到惊讶 我的印象是 R 错过 了一组点 即截距和斜率不是最佳拟合 例如 我指的是坐标 x 15 25 y 0 20 处的点组 我的问题 是否有一个函数可以比较
  • Twig / PHP - 使用替换或正则表达式格式化字符串

    如何在 Twig 中格式化字符串 如下所示 例如 img 05myphoto Car jpg 我需要删除数字前缀和 我主要用它来根据文件名输出图像的标题 期望的输出 Myphoto Car 到目前为止 我已经从文档中尝试过 img repl
  • 需要帮助解决 python 中的二阶非线性 ODE

    我真的不知道从哪里开始解决这个问题 因为我对此没有太多经验 但需要使用计算机来解决该项目的这一部分 我有一个二阶常微分方程 m 1220 k 35600 g 17 5 a 450000 b 介于 1000 到 10000 之间 增量为 50
  • 如何使用 JavaScript 在新选项卡中打开链接

    我正在开发一个网站 我必须从后端打开一个网址 我现在用的是c 我的问题是我想在新选项卡而不是新窗口中打开链接 我的代码在这里 string url ppHref ToString string newScript ClientScript
  • 如何在流星上创建自动增量字段?

    我需要一个自动增量字段 但不是用于主 ID 它只是为了向客户支持应用程序的用户提供一个易于记住的案例编号 我发现这篇文章解释了如何在 mongodb 上创建自动增量字段http docs mongodb org manual tutoria
  • void** 是 ANSI-C 中可接受的类型吗?

    我见过一个函数 其原型是 int myfunc void ppt 该函数在 C 文件中调用为 a myfunc mystruct var1 其中 mystruct 是我们拥有的结构之一的 typedef 这在MSVC6 0中没有任何编译错误
  • 如何将选定的列从具有不同列的 df 附加到 pandas 数据框

    我希望能够将 df1 df2 df3 附加到一个 df All 中 但由于每个数据帧都有不同的列 我怎样才能在 for 循环中做到这一点 我还有其他必须在 for 循环中做的事情 import pandas as pd import num
  • 对部分排序列表进行排序的最佳方法是什么?

    可能最好用一个小例子来说明 鉴于关系 A lt B lt C A lt P lt Q 正确的输出是 ABCPQ or APQBC or APBCQ etc 换句话说 只要给定的关系成立 任何顺序都是有效的 我对最容易实现的解决方案最感兴趣
  • 获取 Angular 2 .ts 文件而不是 .d.ts 文件

    当我使用 angular2 代码时 我经常需要看到执行一个类 比方说Router class 如果我点击Router输入我的 IDE WebStorm e G 在另一个类的构造函数中 export class myClass constru
  • 如何在没有 Transfer Encoding: chunked 的情况下发送 HTTP 响应?

    我有一个响应 Twilio API 的 Java Servlet Twilio 似乎不支持我的回复所使用的分块传输 我怎样才能避免使用Transfer Encoding chunked 这是我的代码 response is HttpServ
  • Web 服务无法序列化接口

    我有一个像这样的界面 public interface IDocument ISerializable Boolean HasBeenUploaded get set void ISerializable GetObjectData Ser
  • RXTX 在 Windows 7 64 位下无法列出或找到端口

    早上好 我在 Windows 7 64 位上使用 或安装 rxtx 时遇到问题 我之前在 x86 win XP 系统上使用过它 没有出现任何问题 由于由于某种原因重新安装到这个新系统 rxtx 无法找到任何端口 我尝试过 rxtx 安装 C
  • C中整数的大小[重复]

    这个问题在这里已经有答案了 可能的重复 int 的大小是否取决于编译器和 或处理器 整数的大小是否取决于编译器 操作系统或处理器 如果我在 32 位操作系统或 64 位操作系统上使用 gcc 并在 32 位计算机或 64 位计算机上运行 在
  • 如何让 Emacs 启动更快?

    I use Emacsv 22 控制台版本 可以远程使用PuTTY或本地与Konsole 作为我在 Linux 上的主要文本编辑器 每次启动时都需要一段时间来加载 可能几乎一秒钟 尽管我从未计时 我经常打开和关闭 Emacs 因为我更喜欢使