Відповіді:
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 hjs-режимі, але там нічого не міг знайти.
Мені б хотілося, щоб хтось раніше говорив мені про «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.