让Emacs自动关闭HTML标签

7

如何让emacs始终关闭sgml标签(C-c-C-t)?

例如,divh2标签可以正常工作,但pli无法正常工作。 基本上,我正在寻找一种指定我插入标签时始终使用xhtml的方法。

1个回答

8
您需要打开sgml-xml-mode:

当非空时,标签插入函数将符合XML标准。

sgml-mode 试图通过查看文档类型来猜测您的缓冲区是否为XHTML(因此自动打开sgml-xml-mode)。请参阅函数 sgml-xml-guess。它期望在DTD名称中找到字符串"XHTML"
如果您无法让sgml-xml-guess起作用,则可以显式地打开sgml-xml-mode。也许像这样:
(add-hook 'html-mode-hook #'(lambda nil (setq sgml-xml-mode t)))

谢谢您详细的回答,但我不能显式地调用sgml-mode,因为99%的时间我处理的是rails模板视图(rhtml)或具有自己模式的php文件。 - vise
我并不建议您直接调用 sgml-mode,而是在编辑 HTML 时将 sgml-xml-mode 设置为 trhtml-mode 派生自 html-mode,因此我的钩子应该也适用于您。 - Gareth Rees

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接