Emacs替换需要自动加载

时间:2014-07-29 15:24:56

标签: emacs melpa

在分析我的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安装的软件包。如何为手动安装的软件包执行等效操作,例如上面的示例?

1 个答案:

答案 0 :(得分:5)

您需要为通过键绑定实际调用的函数(即mc/edit-linesmc/mark-next-like-thismc/mark-previous-like-thismc/mark-all-like-this)编写自动加载,因为&# 39;如何触发文件的加载。自动加载需要引用定义了相应功能的文件,mc-edit-linesmc/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)