Відповіді:
js-indent-level
може використовуватися в режимі javascript за замовчуванням, який включається за замовчуванням, починаючи з emacs 23.2.
(setq js-indent-level 2)
повинен робити те, що ви шукаєте. Якщо ви використовуєте старішу версію emacs, можливо, ви перебуваєте в java-режимі. Я думаю, що цей режим відповідає c-basic-offset
, однак я можу помилятися.
(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
так:(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
js-режимі, але там нічого не міг знайти.
Мені б хотілося, щоб хтось раніше говорив мені про «Custom»! Можливо, це допоможе іншому простому смертному, як я;)
Викликати користувацький:
M-x customize
Потім виберіть "Програмування", а потім "Мови", а потім виберіть мову / режим для налаштування. Відредагуйте параметри так, як вважаєте за потрібне. Після завершення виберіть "Зберегти для поточного сеансу" або "Зберегти для майбутніх сеансів".
Якщо ви використовуєте режим js2 (який є більш потужним IMHO), команда така:
(setq-default js2-basic-offset 2)
Використання EditorConfig також може бути хорошою ідеєю. І звичайно, Emacs мав режим для цього editorconfig-emacs .
Він також доступний у менеджері пакунків ( M-x package-list-packages
) через Мельпу або Мармелад.
Жодне з цих рішень не працювало для мене після оновлення до Emacs 26 (я вже js-indent-level
встановив 2, але ширина моєї вкладки повернулася до 8), але те, що працювало, було встановлення tab-width
змінної на 2
, яка, здається, замінює стару default-tab-width
змінну.
Я знайшов це в M-x customize
пошуках tab width
.