2010-11-24 29 views
5

Comment faire pour que emacs ferme toujours une balise sgml (C-c-C-t)?Rendre emacs toujours fermer les balises html

Par exemple div, h2 les étiquettes fonctionnent bien mais p ou li ne le font pas. Fondamentalement, je cherche un moyen de préciser que j'utilise toujours xhtml lorsque j'insère un tag.

Répondre

6

Vous devez activer sgml-xml-mode:

Lorsque non nul, les fonctions d'insertion de balise sera conforme à XML.

sgml-mode tente de deviner si votre tampon est en XHTML (et donc activer sgml-xml-mode automatiquement) en regardant le doctype. Voir la fonction sgml-xml-guess. Il s'attend à trouver la chaîne "XHTML" quelque part dans le nom DTD.

Si vous ne pouvez pas obtenir sgml-xml-guess pour fonctionner, vous pouvez activer explicitement sgml-xml-mode. Peut-être comme ceci:

(add-hook 'html-mode-hook #'(lambda nil (setq sgml-xml-mode t))) 
+0

Merci pour votre réponse détaillée, mais je ne peux pas appeler explicitement SGML mode parce que 99% du temps, je traite avec des rails vues modèle (de RHTML) ou des fichiers php qui ont leurs propres modes . – vise

+0

Je ne suggère pas que vous appeliez explicitement 'sgml-mode', mais que vous définissiez' sgml-xml-mode' à 't' lors de la modification de HTML. 'rhtml-mode' est dérivé de' html-mode', donc mon hook devrait fonctionner pour vous. –