2010-11-14 4 views

Antwort

157

js-indent-level kann im Standard-Javascript-Modus verwendet werden, der standardmäßig in Emacs 23.2 enthalten ist.

(setq js-indent-level 2) 

sollte tun, was Sie suchen. Wenn Sie eine ältere Version von emacs verwenden, befinden Sie sich möglicherweise im Java-Modus. Ich denke, dieser Modus reagiert auf c-basic-offset, aber ich kann falsch liegen.

+0

Perfect. Danke für die schnelle Antwort. – mksuth

+2

(setq default-tab-width 2) wäre der entsprechende Tab-Breite Setter für Java-Modus – Fergie

+0

Mit diesem Mechanismus bleibt die Tab-Breite bei 8 und so Tabs werden nur verwendet, wenn Einzug Ebene 4 (2x4 = 8) oder mehr ist. Wie legen Sie die Tab-Breite auf 2 oder 4, so dass Tabs anstelle von Leerzeichen verwendet werden? Ich habe eine Reihe von Einstellungen ausprobiert, z. (Setq Tab-Breite 4), aber ohne Erfolg. Mein Ziel: Verwenden Sie Tabulatorbreite 4 und verwenden Sie nur Tabulatorzeichen (keine Leerzeichen als Ersatz). – jdp

58

Ich wünschte, jemand hätte mir viel früher über Custom erzählt!

M-x customize 

Dann wählen Sie „Programmieren“ und dann „Sprachen“ und dann eine Sprache/Modus wählen anpassen:)

Invoke Gewohnheit, das wird einen anderen Sterblicher wie mir helfen, vielleicht. Bearbeiten Sie die Optionen nach Ihren Wünschen. Wenn Sie fertig sind, wählen Sie entweder "Für aktuelle Sitzung speichern" oder "Für zukünftige Sitzungen speichern".

+2

Das ist erstaunlich. Ich benutze Emacs seit 5 Jahren, ohne dass ich darüber stolpere. Danke sooo viel! – zachaysan

+1

Danke @wprl! --- _a mortal_ – daveagp

+1

Das ist erstaunlich! –

2

In meiner javascript.el Datei (/ usr/share/emacs/site-lisp) fand ich

Javascript-indent-Level 4

Also, wenn Sie den gleichen Lisp-Modus verwenden Sie können ändern Sie es von

(setq javascript-indent-level 2) 
11

laufen Sie möchten vielleicht auch emacs setzen Räume verwenden anstelle von Tabulatoren

(setq-default indent-tabs-mode nil) 
+0

Dies ist mehr ein Kommentar als die tatsächliche Antwort. Verdiene mehr Reputation, um kommentieren zu können. – jcubic

13

Wenn Sie js2-Modus verwenden (die leistungsfähigeren IMHO ist), dann lautet der Befehl:

(setq-default js2-basic-offset 2) 

Source.

2

Sie können auch

M-x customize-variable 

verwenden und geben

js-indent-level 

(js- [TAB] zeigt eine Liste von Optionen). Dann ändern Sie die Js Indent Level wie gewünscht und klicken Sie [State:] und speichern.

0

Mit EditorConfig könnte auch eine gute Idee sein. Und natürlich hatte Emacs einen Modus dafür editorconfig-emacs.

Es ist auch in der Paket-Manager (M-x package-list-packages) durch Melpa oder Marmelade.

1

Wenn Sie es auf einer Pro-Datei-Basis ändern möchten, setzen Sie diese am Anfang der Datei:

// -*- mode: js; js-indent-level: 2; -*-