2010-11-24 9 views
5

Wie kann ich Emacs schließen immer ein SGML-Tag (C-C-C-t)?Machen Sie Emacs immer schließen html-Tags

Zum Beispiel div, h2 Tags funktionieren gut, aber oder li nicht. Grundsätzlich suche ich nach einer Möglichkeit, anzugeben, dass ich immer xhtml benutze, wenn ich ein Tag einfüge.

Antwort

6

Sie müssen sich auf sgml-xml-mode drehen:

Wenn nicht nil, das Einfügen von Tags Funktionen XML-kompatibel sein wird.

sgml-mode versucht zu erraten, ob Ihr Puffer in XHTML ist (und schalten so auf sgml-xml-mode automatisch) durch an der Doctype suchen. Siehe die Funktion sgml-xml-guess. Es wird erwartet, dass die Zeichenfolge "XHTML" irgendwo im DTD-Namen gefunden wird.

Wenn Sie sgml-xml-guess nicht arbeiten können, dann können Sie explizit sgml-xml-mode einschalten. Vielleicht so:

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

Vielen Dank für Ihre ausführliche Antwort, aber ich kann nicht explizit SGML-Modus, da 99% der Zeit beschäftige ich mich mit Schienen Schablonenansichten (rhtml) oder PHP-Dateien, die ihre eigenen Modi nennen . – vise

+0

Ich schlage nicht vor, dass Sie 'sgml-mode' explizit aufrufen, sondern' sgml-xml-mode' bei der HTML-Bearbeitung auf 't' setzen. 'rhtml-mode' ist abgeleitet von' html-mode', also sollte mein hook für dich funktionieren. –