我把它们放在我的配置文件中:
(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文件添加钩子?
答案 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中。