Emacs替换需要自动加载

dar*_*sky 1 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)
Run Code Online (Sandbox Code Playgroud)

我试图更换require线路,(autoload 'multiple-cursors-mode "multiple-cursors.el" "Multiple cursors mode")但没有用.

这种自动加载格式似乎只适用于Melpa安装的软件包.如何为手动安装的软件包执行等效操作,例如上面的示例?

leg*_*cia 5

你需要写自动加载的你实际上是通过组合键调用(即功能mc/edit-lines,mc/mark-next-like-this,mc/mark-previous-like-thismc/mark-all-like-this),因为这是如何的文件的加载被触发.该自动加载需要参考其中各个函数被定义文件,它是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)
Run Code Online (Sandbox Code Playgroud)