1
37
除了
Adam Rosenfield's solution
,我建议使用
Emacs in server mode
. 您可以添加
编辑 你说得对,v22不会创建新的框架。创建一个shell脚本来完成这个技巧:
|
2
58
其他人已经涵盖了使用
但是,具体来说,加速.emacs可以通过以下方式完成:
如何确定.emacs加载的内容
现在,如何确定.emacs加载的内容?目标是删除功能,还是延迟它?检查你的
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
如果你注意到的话,
注:
如果你有一个大的.emacs,可能
注:
它
|
3
27
不要每次使用shell时都关闭emacs。使用ctrl-z将emacs移动到背景和
|
4
21
一些提示:
|
5
19
什么之中的一个
应该满足Emacs中的命令行需求。
您也可以使用
|
6
14
检查你的
还要确保正在加载的所有包都已编译(
编译包的加载速度比未编译包快得多。 |
7
13
“我经常打开和关闭emacs,因为使用bash命令行进行文件/目录操作和编译更为方便。” 你在描述像Vim这样的编辑器的使用方式。射入和射出。Emacs通常是开放的,大部分都是从“内部”完成的。希纳已经回答了正确的方法。 |
8
11
最快的方法是 profile your .emacs . 在发现.emacs中的4条特定行占用了超过80%的加载时间后,我在5分钟内将加载时间从>3缩短为1。 |
9
9
有一件事帮助我减少了
(eval-after-load "sql" '(progn (sql-set-product 'mysql) (setq sql-mysql-options '("-C" "-t" "-f" "-n")) (setq sql-sqlite-program "sqlite3") )) 当然,有些包裹会有 hook 你可以做同样的事情,但有时没有,或者这种方式只是证明更容易思考。 |
10
8
Emacs设计为“一直”运行(或至少长时间运行),因此不建议在一天中多次启动和停止Emacs。 我建议使用屏幕。屏幕是一个终端多路复用器,在一个终端中为您提供无限的虚拟终端。 安装后,只需在终端中编写“screen emacs”。Emacs将像往常一样启动,但按“c-a c”(即按ctrl-a,然后按c)将打开一个新的虚拟终端。你可以通过按“c-a c-a”(两次ctrl-a)回到emacs。 您甚至可以从运行屏幕会话中分离,关键序列是“C-A D”。 通过发出“screen-r”重新连接到会话,您将回到您离开的地方。这使您能够在工作中启动Emacs会话、分离、回家以及从家重新连接。 我已经连续几个月像这样运行emacs了。 这是官方网站: http://www.gnu.org/software/screen/ 但是尝试谷歌搜索屏幕教程和如何操作 |
11
5
你可以使用 benchmark-init 介绍Emacs的启动情况。它将跟踪正在加载的模块以及每个模块所花费的时间。结果可以表格形式或树形式呈现。树可以更容易地跟踪谁加载了什么,当您加载一个有很多依赖关系的包时,这是很有帮助的,表格形式可以帮助您快速找到大部分时间都花在哪里。 一旦你得到了这些结果,试着弄清楚是否所有的模块都必须一直加载,或者你是否可以按需加载其中的一些模块。例如,在我的配置中,我只加载特定于特定模式的Emacs扩展,而该模式实际上是激活的,因为大多数时候我只在会话中使用其中的一小部分。 eval-after-load 模式挂钩将是你的朋友。 通过应用这个方法 我的Emacs在3-4秒内启动 我有 接近200个扩展 安装。大部分时间都花在加载helm上,我总是加载helm,因为它替换了查找文件和其他总是需要的核心函数,以及cedet,因为我使用的是最新的版本,而且它必须在Emacs尝试加载旧的内置版本之前加载。 |
12
4
其他人没有提到的一件事是将您使用的elisp库作为
dumped Emacs
将库加载时间从Emacs启动移动到Emacs生成。它不适合胆小的人,但如果你在
|
13
3
这不回答问题,但有点相关 我不知道如何让它启动得更快,但我可以建议以下几点:
|
14
3
我有大约120秒的开始时间。我找到了安装这个的修复程序: https://github.com/dholm/benchmark-init-el 放在你的上面 爱因特
然后,一旦Emacs启动,运行: M-X基准初始化/显示持续时间树 在我这方面,问题是不定期装载127秒 我通过添加
到 /ETC/主机 这让我的创业很快 在这里看到更多: https://github.com/emacs-helm/helm/issues/1045 另一件可能对你有帮助的事情: https://www.emacswiki.org/emacs/ProfileDotEmacs |
15
2
当我在这里遇到这个问题时,我正试图解决同样的问题。我只是想补充一点,我的问题不是因为EmacsLisp包的加载时间,而是因为主机没有完全解析的主机名。 要检查您的包加载时间,请执行
对我来说是0.3秒,但是加载时间非常长。 在正确更改了主机名之后,它修复了问题。 要将完全解析的主机名编辑/etc/hostname和/etc/hotsfile配置为:
|
16
2
尝试使用 https://github.com/jwiegley/use-package 用于定义包加载和自定义的宏。它为您处理包的延迟加载,这样即使在有大量已配置的包的情况下,也相对容易获得良好的启动时间。我的.emacs中引用了将近100个包,但是我的启动时间在Linux上不到2秒,在Mac上不到2.2秒。 |
17
1
我必须检查我的定制,但是有一个叫做gnuserve或emacsclient的包。它会迁移很多,所以你必须在谷歌上搜索。 它在后台运行一个Emacs会话。任何进一步的Emacs会话本质上都只是该会话的新框架。一个副标题是为您以后的会话快速启动时间。 |
S. Jacson · 任意两台发电机的速度差(内置功能) 2 年前 |
Sadeq Dousti · 相当于“嵌套删除”的执行性能SQL查询 2 年前 |
Prince · 复制大型文件需要更多时间 2 年前 |
Sagar · 为什么在循环之外声明变量会更快? 2 年前 |
seco · 如何在不挂起页面的情况下加载JS 2 年前 |