在分析了我的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安装的软件包.如何为手动安装的软件包执行等效操作,例如上面的示例?
你需要写自动加载的你实际上是通过组合键调用(即功能mc/edit-lines
,mc/mark-next-like-this
,mc/mark-previous-like-this
和mc/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)