3

При переключении стилей кодирования мне нужно перейти от отступа одной вкладки с 4 отступами к отступу с двумя пробелами.

Я добавил следующее в мой файл .emacs, в самом конце:

(setq indent-tabs-mode nil)
(setq c-basic-offset 2)

К сожалению, это не работает. Мне все еще нужно Mx set-variable для c-basic-offset, установить его равным 2 для каждого файла, который я открываю, чтобы успешно изменить отступ на 2 пробела вместо 1 табуляции.

Есть ли другой параметр конфигурации, который мне нужно добавить после этих параметров, чтобы сделать новую карту c-basic-offset?

4 ответа4

4

c-basic-offset - переменная для каждого буфера, поэтому установка ее в вашем .emacs не будет работать. Вы можете использовать (setq-default c-basic-offset 2) или определить хук режима, который выполняется каждый раз, когда вы запускаете cc-mode .

1

Возможный альтернативный подход: используйте что-то вроде (set-variable 'c-file-style "gnu") чтобы получить нужный стиль. Существует довольно полный список встроенных стилей, и вы можете определить свой собственный.

1
M-x customize-variable c-basic-offset

Из строки документации:

This variable automatically becomes buffer-local when set outside Custom.
However, setting it through Custom sets the default value.
0

Вы должны попробовать (setq-default tab-width 4)

У меня есть следующие настройки в моем файле .emacs , и он работает для меня:

(setq-default tab-width 2)
(setq js-indent-level 2)
(setq c-basic-offset 4)
(setq css-indent-offset 2)
(setq sh-basic-offset 2)
(setq-default indent-tabs-mode nil)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .