Einrücken von HTML + Javascript / CSS

5

Haben Sie einen OS X-Texteditor gefunden, der beide Zeilen einrücken kann?

var x = 2;

und die Linien

<it>Item A</it>
<it>Item B</it>

im folgenden html?

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Test</title>
<script>
function foo_bar() {
var x = 2;
}
</script>
</head>
<body onload="foo_bar()">

<h1>Header</h1>

<ul>
<it>Item A</it>
<it>Item B</it>
</ul>

</body>
</html>

Ich habe alle Emacs-Pakete ausprobiert, um diese einfache Aufgabe ordnungsgemäß auszuführen (durch einen Haupt- und einen Nebenmodus), aber keiner ist ausreichend. Ich stehe zu sehr auf Emacs, um es ganz aufzugeben, aber ich suche jetzt einen anderen Editor als Emacs für diese Aufgabe.

Calaf
quelle
Niemand anderes wird einen Texteditor auswählen, der darauf basiert, ob JavaScript, das in HTML eingebettet ist, automatisch eingerückt werden kann. (Oder suchen Sie nach dieser Frage.)
Lri
Ist das so? Erklären Sie uns.
Calaf
2
@LauriRanta Das ist keine gute Annahme. Wenn eine Person die Frage hätte, ist es sehr wahrscheinlich, dass mehr wird. Wenn Sie sich mit unbekannten Fragen beschäftigen möchten, probieren Sie einige davon aus.
CajunLuke
1
Es ist interessant, deshalb denke ich nicht, dass wir es schließen sollten. OTOH, es scheint lösbar zu sein, wenn einige clevere Emacs Lisp hacken, also ist AskDifferent vielleicht genau der falsche Ort, um danach zu fragen.
Nohillside
@patrix Ich habe Multi-Web-Modus und nXhtml ausprobiert. Weder passt die Rechnung. Die Unterstützung von zwei Modi hat bei Emacs gefehlt, seit Knuth TeX mit Programmen in einer einzigen Datei gemischt hat. Es ist sicher, nicht zu wetten, dass Emacs diese Fähigkeit bald haben werden. Sollten Sie die "cleveren Lisp-Hacks" veröffentlichen, werden Sie natürlich viele Menschen ziemlich erfreuen.
Calaf

Antworten:

3

Ich habe web-mode.el geschrieben (verfügbar unter http://web-mode.org ), weil ich dieselben Probleme hatte wie Sie. Dieser Emacs Major-Modus zum Bearbeiten von HTML-Vorlagen (HTML mit CSS / JS / PHP / JSP) ist autonom (kein weiterer Major erforderlich) und hebt die Syntax und Einzüge entsprechend dem Blocktyp hervor.

OP Raving

Mit nichts mehr als

(require 'web-mode)

In Ihrem .emacsund web-mode.elin einem zugänglichen Speicherort (Ihr Basisverzeichnis reicht zunächst aus) sieht das Codebeispiel in der Frage wie folgt aus.

Bildbeschreibung hier eingeben

Um die richtige Einrückung zu erhalten

Bildbeschreibung hier eingeben

Sie müssen verwenden

;; First the (general) requisite initialization.
(package-initialize)

(require 'web-mode)

(eval-after-load "web-mode"
  '(progn 
     (add-to-list 'auto-mode-alist '("\\.css\\'" . web-mode))
     (add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
     (add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode))

     (setq web-mode-script-padding 2)
     (setq web-mode-style-padding 2)
     (setq web-mode-block-padding 2)
     ))
fxbois
quelle
2

Ich benutze Textmate sehr stark und liebe es, wie automatisch Einrückungen bei meinen Rails-Entwicklungen vorgenommen werden. Es ist ein wirklich guter Texteditor und den Preis absolut wert. Hat viele gute Eigenschaften.

Die meisten Texteditoren verfügen jedoch normalerweise über eine automatische Einrückung. Coda 2 und ich glaube, Textwrangler und ein paar andere. Sollte nicht zu schwer zu finden sein, dass es funktioniert und die meisten von ihnen haben kostenlose Testversionen, mit denen sie zuerst spielen können, um zu sehen, ob sie Ihren Wünschen entsprechen.

Ich hoffe, dass diese Antwort Ihnen hilft.

de_an777
quelle
1
Sublime Text ist eine weitere gute Wahl: sublimetext.com
Vickash
Ja es ist, danke, ich hatte dafür bekommen.
de_an777
Textmate rückt in der Tat Javascript ein, das in HTML eingebettet ist (Bearbeiten \ Auswählen \ Alle = Befehl-A; Text \ Auswahl einrücken-Befehl- [). Ich verstehe nicht, wie Coda 2 oder Textwrangler eine Auswahl einrücken können. Sublime Text 2 bietet mehrere Auswahl- und Einrückungsoptionen. Bei keiner meiner Prüfungen wurde der ausgewählte Puffer eingerückt. Nun, wenn nur Textmate irgendwie mein Emacs-Farbschema importieren würde.
Calaf
Mit Textmate können Sie das Farbschema nach Belieben ändern. Es ist ziemlich fantastisch, es gibt viele Themen zum Herunterladen. Sie können Ihre Selbst auch bilden und verursachen. Hier ist eines, das ich gefunden habe und das für Emacs wie ein dunkles Thema aussieht: mac.softpedia.com/get/Graphics/Emacs-TextMate.shtml
de_an777
..und um ein Thema zu verwenden, doppelklicken Sie auf die .tmTheme-Datei, anstatt sie über Textmate selbst zu laden. Wie im Abschnitt "14 Themen" des Handbuchs angegeben, enthält das Wiki ( wiki.macromates.com/Themes/UserSubmittedThemes ) eine Reihe zusätzlicher Themen.
Calaf