Wie konfiguriere ich Emacs für die Bearbeitung von HTML-Dateien, die Javascript enthalten?
Habe ich begonnen, die schmerzhafte erste Schritte mit emacs zum Bearbeiten einer HTML-Datei mit beiden HTML-tags und javascript-Inhalte. Ich habe installiert nxhtml und versuchte, es zu benutzen - ich.e für die Verwendung von nxhtml-mumamo-Modus .html-Dateien. Aber ich bin nicht, es zu lieben. Wenn ich die Bearbeitung der Javascript-Teil des Codes der Registerkarte Einzüge nicht so Verhalten, wie Sie es bei der Bearbeitung von C/C++ - code. Es beginnt putting-Register innerhalb der Linie und wenn Sie versuchen Sie und schlagen Sie die Registerkarte in den weißen Raum vor einer Zeile fügt die Registerkarte eher als re-tabifying die Linie.
Ein weiterer Aspekt, den ich nicht mag, ist, dass es nicht syntax-Färbung wie die üblichen C/C++ - Modi tun. Ich bevorzuge das Verhalten der Standard-java-Modus beim Bearbeiten von HTML-Dateien, aber das spielt nicht gut mit dem HTML-code. 🙁
1) gibt es eine bessere Modus für die Bearbeitung von HTML-Dateien mit Javascript-Teile?
2) gibt es einen Weg, um nxhtml die Verwendung der Standard-java-Modus für die javascript-Teile?
Grüße,
M
InformationsquelleAutor der Frage MakeDummy | 2010-12-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Lösung ist
multi-web-mode
:https://github.com/fgallina/multi-web-mode
welche eventuell leichter konfigurierbar als der bereits erwähnte
multi-mode
.Den Sie gerade konfigurieren Sie Ihren bevorzugten Modus in Ihrem
.emacs
- Datei wie folgt:Mehr auf Emacs mehrere mehrere Modi (seufz) hier:
http://www.emacswiki.org/emacs/MultipleModes
UPDATE: vereinfachte die regexps zu erkennen, JavaScript-oder CSS-Bereiche, um Ihnen die Arbeit mit HTML5 -- keine Notwendigkeit für super-präzise und fragile reguläre Ausdrücke.
InformationsquelleAutor der Antwort Kai Carver
Ich geschrieben haben, die wichtigsten mode-web-Modus.el für diese Art der Nutzung: - Bearbeitung von HTML-Vorlagen einbetten, JS, CSS, Java (JSP), PHP. Sie können es herunterladen auf http://web-mode.org
Web-Modus.el hat syntax-Hervorhebung und Einrückung nach der Art des Blocks.
Die Installation ist einfach :
InformationsquelleAutor der Antwort fxbois
Große Frage. Schauen Sie, wie viele upvotes Sie haben auf Ihrem ersten!
Jeder hat die gleiche Erfahrung wie Sie. Ich auch.
Anstatt verlassen sich auf nhtml-Modus, zeigten die gleiche Art von Fremdheit für mich, wie Sie beschrieben, suchte ich nach einer anderen Möglichkeit und fand multi-Modus.el . Es ist eine Art von Mehrzweck-multi-Modus-Skelett. Um es zu verwenden, müssen Sie geben Sie reguläre Ausdrücke, um zu beschreiben, wo man-Modus beginnt und der andere endet. Also, schauen Sie für
<script...>
zu starten, einen javascript-block, und<style...>
zum starten eines css-Blocks. Dann stecken Sie in Ihrem eigenen Modi für jeden block - wenn Sie möchten espresso für javascript, verwenden Sie es. Und so weiter für die anderen regexes, identifizieren Sie andere Blöcke.In der Praxis, wie Sie navigieren durch das Dokument, ein anderer Modus aktiviert ist, für jeden block.
Ich verwendet multi-Modus zu produzieren ASP.NET,, die mir erlaubt zu Bearbeiten, C#, HTML, CSS und Javascript in eine einzelne Datei, mit dem richtigen markieren und fontification je nachdem, wo der cursor in den Puffer. Es ist nicht perfekt, aber ich fand es eine deutliche Verbesserung auf, die bestehenden Möglichkeiten. In der Tat kann dies sein, was Sie wollen. Probieren Sie es aus.
https://code.google.com/p/csharpmode/source/browse/trunk/aspx-mode.el?r=14
InformationsquelleAutor der Antwort Cheeso
Nicht wirklich eine gute Lösung, aber eine schnelle Lösung sein, wenn Sie wirklich brauchen, um haben javascript in Ihrem html-wählen Sie die region mit javascript und verwenden Sie den Befehl
narrow-to-region
(C-x n n
) und wechseln Sie dann Ihre bevorzugte javascript-Modus. Der Befehlwiden
bringt Sie zurück, (C-x n w
).InformationsquelleAutor der Antwort antonj
Es klingt wie Sie haben ein setup Ihr nxhtml falsch. Die einzige Einrichtung erforderlich sein sollte, laden die
autostart.el
- Datei, und dann sollte alles funktionieren bis zu einem gewissen Maß. nxhtml nicht perfekt ist, in irgendeiner Weise, aber meine Erfahrungen aus der Verwendung für die html/css/javascript/mako ist ziemlich gut, zumindest für alles, aber mako. Aber ich bin mir ziemlich sicher, ich habe eingeschraubt, bis Sie mit der mako-Teil.Dies ist, wie Initialisiere ich meine nxhtml:
InformationsquelleAutor der Antwort monotux