Odpowiedzi:
js-indent-level
może być używany w domyślnym trybie javascript, który jest dołączany domyślnie począwszy od emacs 23.2.
(setq js-indent-level 2)
powinien robić to, czego szukasz. Jeśli używasz starszej wersji emacsa, możesz być w trybie java. Myślę, że ten tryb reaguje c-basic-offset
, jednak mogę się mylić.
(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
sposób:(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
z js-mode, ale nie mógł znaleźć coś tam.
Żałuję, że ktoś nie powiedział mi o Custom o wiele wcześniej! Może to pomoże innemu zwykłemu śmiertelnikowi, jak ja;)
Wywołaj niestandardowe:
M-x customize
Następnie wybierz „Programowanie”, a następnie „Języki”, a następnie wybierz język / tryb do dostosowania. Edytuj opcje według własnego uznania. Po zakończeniu wybierz opcję „Zapisz dla bieżącej sesji” lub „Zapisz dla przyszłych sesji”.
Jeśli używasz trybu js2 (który jest potężniejszym IMHO), to polecenie brzmi:
(setq-default js2-basic-offset 2)
Używanie EditorConfig też może być dobrym pomysłem. I oczywiście Emacs miał do tego tryb editorconfig-emacs .
Jest również dostępny w menedżerze pakietów ( M-x package-list-packages
) za pośrednictwem Melpa lub Marmalade.
Jeśli chcesz to zmienić dla każdego pliku, umieść to na początku pliku:
// -*- mode: js; js-indent-level: 2; -*-
Żadne z tych rozwiązań nie zadziałało po aktualizacji do Emacsa 26 ( js-indent-level
ustawiłem już 2, ale szerokość mojej zakładki powróciła do 8), ale zadziałało ustawienie tab-width
zmiennej na 2
, która wydaje się zastępować starą default-tab-width
zmienną.
Znalazłem to w M-x customize
wyszukiwarce tab width
.