1

在分析我的 Emacs 初始化文件后,我发现我的许多模式都需要很长时间才能加载,这解释了为什么我的启动时间很慢。

我正在尝试使用后加载或自动加载来减少加载时间,但在许多模式下都没有成功。

例如,我有一个名为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 的软件包。如何对手动安装的软件包进行等效操作,例如上面的示例?

4

1 回答 1

5

您需要为通过键绑定(即mc/edit-lines、和)实际调用的函数编写自动加载mc/mark-next-like-this,因为这是触发文件加载的方式。自动加载需要引用定义了相应函数的文件,即for和for other。mc/mark-previous-like-thismc/mark-all-like-thismc-edit-linesmc/edit-linesmc-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)
于 2014-07-29T15:32:45.150 回答