Ответы:
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-режим (который, по-моему, более мощный), то команда будет такой:
(setq-default js2-basic-offset 2)
Использование EditorConfig тоже может быть хорошей идеей. И, конечно же, в Emacs был режим editorconfig-emacs .
Он также доступен в диспетчере пакетов ( M-x package-list-packages
) через Melpa или Marmalade.
Ни одно из этих решений не помогло мне после обновления до Emacs 26 (я уже js-indent-level
установил значение 2, но моя ширина табуляции вернулась к 8), но что действительно сработало, так это установка tab-width
переменной в значение 2
, которое, похоже, заменяет старую default-tab-width
переменную.
Я нашел это M-x customize
, выполнив поиск по запросу tab width
.