Emacs:打开XML文件时的钩子

时间:2011-01-31 04:11:58

标签: emacs elisp

我把它们放在我的配置文件中:

(add-hook 'sgml-mode-hook (lambda () (message "SGML")))
(add-hook 'html-mode-hook (lambda () (message "HTML")))
(add-hook 'xml-mode-hook  (lambda () (message "XML")))

打开.html文件时,会按预期打印“SGML”和“HTML”。 但是在打开.xml文件时,没有打印出来。

问题:那我如何为xml文件添加钩子?

2 个答案:

答案 0 :(得分:5)

您是否尝试过nxml-mode,如:

(add-hook 'nxml-mode-hook  (lambda () (message "XML")))

答案 1 :(得分:2)

注意:此答案适用于Emacs 22及更早版本。对于Emacs 23+,请参阅接受的答案。

XML模式是SGML模式的别名。您可以通过检查变量sgml-xml-mode来测试是否在XML或SGML变体中:

(add-hook 'sgml-mode-hook (lambda () (message (if sgml-xml-mode "XML" "SGML"))))

该模式记录在手册here中。