如何在php / html文件打开时使emacs加载nXhtml并阻止它在启动时加载

时间:2012-04-27 18:50:20

标签: html emacs nxhtml

因此,为了优化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 ...(已完成)“

有什么想法吗?

4 个答案:

答案 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")
))) 
相关问题