Antworten:
js-indent-level
kann im Standard-Javascript-Modus verwendet werden, der standardmäßig ab 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 darauf c-basic-offset
, aber ich kann mich irren.
(defun my-javascript-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'javascript-mode-hook 'my-javascript-mode-hook)
.
js-mode-hook
wie (defun my-js-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'js-mode-hook 'my-js-mode-hook)
M-x h
aus dem js-Modus reingeschaut, konnte dort aber nichts finden.
Ich wünschte, jemand hätte mir viel früher von Custom erzählt! Vielleicht hilft das einem anderen Sterblichen wie mir;)
Benutzerdefiniert aufrufen:
M-x customize
Wählen Sie dann "Programmieren" und dann "Sprachen" und wählen Sie dann eine Sprache / einen Modus zum Anpassen aus. Bearbeiten Sie die Optionen nach Belieben. Wenn Sie fertig sind, wählen Sie entweder "Für aktuelle Sitzung speichern" oder "Für zukünftige Sitzungen speichern".
Wenn Sie den js2-Modus verwenden (der meiner Meinung nach leistungsfähiger ist), lautet der Befehl:
(setq-default js2-basic-offset 2)
Die Verwendung von EditorConfig könnte ebenfalls eine gute Idee sein. Und natürlich hatte Emacs einen Modus dafür editorconfig-emacs .
Es ist auch im Paketmanager ( M-x package-list-packages
) über Melpa oder Marmelade erhältlich.
Keine dieser Lösungen funktionierte für mich nach dem Upgrade auf Emacs 26 (ich hatte bereits js-indent-level
auf 2 gesetzt, aber meine Registerkartenbreite ging auf 8 zurück), aber was funktionierte, war das Setzen der tab-width
Variablen auf 2
, was die alte default-tab-width
Variable zu ersetzen scheint .
Ich fand dies M-x customize
durch die Suche nach tab width
.