根据正在编辑的文件更改Emacs加载的内容

根据正在编辑的文件更改Emacs加载的内容,emacs,nxhtml,Emacs,Nxhtml,目前,为了使用某个插件(nxhtml),我将以下语句放在my.emacs中 (load "<plugin-location>/autostart.el") (加载“/autostart.el”) 因此,每当我打开emacs时,它都会被加载,无论我是否正在编辑插件适用的文件(例如.htm)。这种加载是不可取的,因为它需要几秒钟的时间。我如何更改我的设置,以便只有在编辑.htm或.css文件时才加载此插件?不确定您对插件的定义。对于特定于格式的代码,我使用挂钩: (add-hook

目前,为了使用某个插件(nxhtml),我将以下语句放在my.emacs中

(load "<plugin-location>/autostart.el")
(加载“/autostart.el”)

因此,每当我打开emacs时,它都会被加载,无论我是否正在编辑插件适用的文件(例如.htm)。这种加载是不可取的,因为它需要几秒钟的时间。我如何更改我的设置,以便只有在编辑.htm或.css文件时才加载此插件?

不确定您对插件的定义。对于特定于格式的代码,我使用挂钩:

(add-hook 'sgml-mode-hook
      '(lambda () (setq sgml-indent-data t)
         (turn-on-auto-fill))
      )

您可以尝试在钩子中加载插件吗?

nXhtml的autostart.el不会做大量的工作(它会设置自动加载声明,以便将实际工作推迟到需要时),但是如果您还没有对库进行字节编译,它仍然会很慢

nXhtml提供了自己的命令来处理必要的字节编译(在中有文档记录),因此您只需键入:


M-x
nxhtmlmaint start byte compilation
RET

autostart.el的可能副本不会做大量工作——它会设置自动加载声明,以便将实际工作推迟到需要时进行。真的需要几秒钟吗?你编译过它吗?@phils有没有load语句在启动时会产生大约5秒的差异。我不知道字节编译是什么意思,也不知道你会怎么做;然而,许多解释语言都支持“字节编译”,这意味着源代码被压缩成一种形式,这种形式在仍然被解释的情况下,可以比原始源代码更快地被解释。Emacs lisp文件
*.el
可以字节编译成Emacs优先使用的等效
*.elc
文件。有用于字节编译的标准命令,但是在本例中,nXhtml提供了自己的:
M-x nxhtmlmaint start byte compilation
,如本文所述,顺便说一句: