因此,为了优化emacs启动时间,我更喜欢在钩子或eval-after-load中封装所有mod。所以我想出了python,cpp和latex,但我坚持使用nXhtml。我尝试了以下方法:
(eval-after-load "HTML-mode"
'(progn
(load-file "~/.emacs.d/plugins/nxhtml/autostart.el")
))
根本不起作用。
代码:
(add-hook 'html-mode-hook (lambda()
(progn
(load-file "~/.emacs.d/plugins/nxhtml/autostart.el")
)))
加载nXhtml的某些部分,但是nXhtml模式没有打开(只有SGML和AC),因此我的php源中的作用域颜色不同,或者自动完成/括号完成不起作用。
它正常工作的唯一方法是我在启动时加载它。
查看跟踪,在启动期间加载nxhtml时会显示:
“majmodpri-apply-priorities running ...(已完成)”
但是,当负载由n html-mode-hook或eval-after-load封装后,跟踪显示:
“majmodpri-apply-priorities running ... MU:majmodpri-check changing majmodpri-apply-priorities:buffer = index.php,html-mode,nil => sgml-mode,nil majmodpri-apply-priorities running ...(已完成)“
有什么想法吗?
答案 0 :(得分:2)
我认为nXhtml的自动启动文件(这就是你要加载的所有文件)的设计是相当小的,所以在不限制它的某些功能的情况下你可能无法减少它太多?
实际服用多长时间?看起来应该记录“在%.1f秒内加载Nxml / Nxhtml Autostart.el”消息。
答案 1 :(得分:0)
在sgml-mode.el文件中定义了实际html-mode
。
所以你eval-after-load
应该如下
(eval-after-load "sgml-mode" (lambda ()
;;; code to load your nxhtml
))
答案 2 :(得分:0)
在编写ROR应用程序时,我还使用nxhtml-mode编辑erb文档。 看看我的配置,这可能对你有帮助。
(autoload 'eruby-nxhtml-mumamo-mode "autostart.el" "Edit erb document." t)
(add-to-list 'auto-mode-alist '("\\.erb" . eruby-nxhtml-mumamo-mode))
答案 3 :(得分:0)
我只是结合了OP代码,它对我有用:
(add-hook 'html-mode-hook (lambda()
(progn
(load-file "~/.emacs.d/vendor/~nxhtml/nxhtml/main/autostart.el")
)))