Как установить отступ в 2 пробела в js2-режиме?

У меня это в конце моего .emacs:

(setq-default indent-tabs-mode nil)

(setq tab-stop-list (number-sequence 2 120 2))

Он отлично работает в других режимах - всякий раз, когда я вкладываюсь, он добавляет два пробела. Но в js2-режиме он добавляет 4.


person Loren    schedule 19.01.2015    source источник


Ответы (3)


Вы можете установить js2-basic-offset на 2.

  1. M-x customize-variable
  2. Введите js2-basic-offset
  3. Установите значение 2

Затем нажмите кнопку Apply and Save в буфере параметров настройки. Это добавит элемент для установки переменной в файл .emacs или init.el.

person ntalbs    schedule 19.01.2015
comment
У меня есть этот набор, и в некоторых случаях используется 2, но в других случаях используется 4. - person Ashnur; 27.03.2016
comment
Когда я это делаю, все, что находится на двух уровнях отступа, становится табуляцией вместо четырех пробелов. Как мне предотвратить это? - person Dan Jones; 25.08.2017
comment
Думаю, установка indent-tabs-mode на nil вам поможет. - person ntalbs; 26.08.2017
comment
Спасибо! Но было бы неплохо, если бы каждый режим в emacs использовал одно и то же имя для установки индекса или чего-то близкого с префиксом конкретного режима. - person Samantha Atkins; 20.03.2018

Немного поздно, но если вы похожи на меня и храните конфигурации для основных режимов в отдельных файлах, вы можете добавить следующую строку, и она также будет работать.

(add-hook 'js2-mode-hook (lambda () (setq js2-basic-offset 2)))
person Rigotti    schedule 05.09.2016

Для меня js2-basic-offset - это псевдоним js-indent-level, поэтому мне пришлось изменить последнее, чтобы оно работало.

person Thomas Fankhauser    schedule 28.03.2018
comment
Я не пробовал изменять js2-basic-offset как настраиваемую пользователем переменную, как предлагает принятый ответ, но чтобы изменить его как простой setq в .emacs, ваш ответ должен быть вашим, потому что установка js2-basic-offset мне тоже не сработала. Использование setq-default для js2-basic-offset также работает. - person Peregring-lk; 28.02.2019
comment
Все остальное, что было рекомендовано, похоже, провалилось. js2-indent-level отлично работает! - person Mapsy; 07.07.2019