在分析我的Emacs init文件后,我发现我的许多模式都需要很长时间才能加载,这解释了为什么我的启动时间很慢。
我正在尝试使用后加载或自动加载来减少加载时间,但在许多模式下都没有成功。
例如,我有一个名为multiple-cursors.el
的模式,我手动下载并放在我的.emacs.d
目录中。这是我现在的代码:
;; Multiple Cursors
(add-to-list 'load-path "~/.emacs.d/multiple-cursors.el/")
(require 'multiple-cursors)
(global-set-key (kbd "C-c c") 'mc/edit-lines)
(global-set-key (kbd "C-c .") 'mc/mark-next-like-this)
(global-set-key (kbd "C-c ,") 'mc/mark-previous-like-this)
(global-set-key (kbd "C-c /") 'mc/mark-all-like-this)
我尝试将require
行替换为(autoload 'multiple-cursors-mode "multiple-cursors.el" "Multiple cursors mode")
,但这不起作用。
这种自动加载格式似乎只适用于Melpa安装的软件包。如何为手动安装的软件包执行等效操作,例如上面的示例?
答案 0 :(得分:5)
您需要为通过键绑定实际调用的函数(即mc/edit-lines
,mc/mark-next-like-this
,mc/mark-previous-like-this
和mc/mark-all-like-this
)编写自动加载,因为&# 39;如何触发文件的加载。自动加载需要引用定义了相应功能的文件,mc-edit-lines
为mc/edit-lines
,其他为mc-mark-more
。
因此,在设置加载路径并绑定密钥后,添加如下内容:
(autoload 'mc/edit-lines "mc-edit-lines" "" t)
(autoload 'mc/mark-next-like-this "mc-mark-more" "" t)
(autoload 'mc/mark-previous-like-this "mc-mark-more" "" t)
(autoload 'mc/mark-all-like-this "mc-mark-more" "" t)