Как изменить ширину отступа в режиме emacs javascript - PullRequest
110 голосов
/ 14 ноября 2010

Я хотел бы использовать 2 пробела для своих отступов вместо 4. Я могу изменить поведение по умолчанию в режиме C, используя:

(setq c-basic-offset 2)

Как мне изменить это в режиме javascript?

Ответы [ 9 ]

185 голосов
/ 14 ноября 2010

js-indent-level может использоваться в стандартном javascript-режиме, который включен по умолчанию начиная с emacs 23.2.

(setq js-indent-level 2)

должен делать то, что вы ищете. Если вы используете более старую версию emacs, вы можете работать в java-режиме. Я думаю, что этот режим реагирует на c-basic-offset, однако я могу ошибаться.

70 голосов
/ 13 июля 2012

Хотелось бы, чтобы кто-то рассказал мне о Custom намного раньше!Возможно, это поможет другому простому смертному, как я;)

Invoke Custom:

M-x customize

Затем выберите «Программирование», затем «Языки» и затем выберите язык / режимнастроить.Отредактируйте параметры по своему усмотрению.По завершении выберите «Сохранить для текущего сеанса» или «Сохранить для будущих сеансов».

14 голосов
/ 06 марта 2015

Если вы используете режим js2 (который является более мощным IMHO), то команда будет:

(setq-default js2-basic-offset 2)

Source.

11 голосов
/ 10 января 2014

Вы также можете настроить emacs на использование пробелов вместо вкладок

(setq-default indent-tabs-mode nil)
2 голосов
/ 20 января 2017

Если вы хотите изменить его отдельно для каждого файла, поместите его в начало вашего файла:

// -*- mode: js; js-indent-level: 2; -*-
2 голосов
/ 25 июля 2016

Вы также можете использовать

M-x customize-variable

и ввести

js-indent-level

(js- [TAB] показывает список параметров).Затем измените Js Indent Level как хотите, нажмите [State:] и сохраните.

2 голосов
/ 11 июля 2013

В моем файле javascript.el (/ usr / share / emacs / site-lisp) я нашел

Уровень javascript-отступ 4

Так что, если вы используете тот же режим lisp, вы можете изменить его, запустив

(setq javascript-indent-level 2)
1 голос
/ 29 июля 2016

Использование EditorConfig также может быть хорошей идеей. И, конечно же, в Emacs был режим editorconfig-emacs .

Он также доступен в менеджере пакетов (M-x package-list-packages) через Melpa или Marmalade.

0 голосов
/ 09 августа 2018

Ни одно из этих решений не работало для меня после обновления до Emacs 26 (у меня уже было установлено значение js-indent-level, равное 2, но ширина моей вкладки вернулась к 8), но что работало, так это установив переменную tab-width в значение 2, который, кажется, заменяет старую переменную default-tab-width.

Я нашел это в M-x customize, выполнив поиск tab width.

...