Отключить авто отступ в глобальном масштабе в Emacs - PullRequest
11 голосов
/ 08 декабря 2010

Как отключить автоматический отступ в Emacs глобально или только для некоторых режимов?

У меня установлено несколько пакетов для RubyOnRails (ruby, html, js, css).

Допустим, я хочу отключить автоиндентирование для css-режима.

Ответы [ 2 ]

3 голосов
/ 02 марта 2016

Для меня в emacs 24.x M-x electric-indent-mode переключил поведение, которое я хотел отключить.

FWIW, поведение было таким, что RET был привязан к команде newline, которая определена в simple.el ... Среди прочего, поведение этой команды изменяется electric-indent-mode.

3 голосов
/ 09 декабря 2010

Возможно, вы захотите поискать имена переменных, содержащие слово electric.(Это общий язык Emacs для действий, которые происходят автоматически при наборе определенных видимых символов.)

В этом случае Mx apropos-variable RET electric RET показывает, что существует переменная css-electric-keys, содержащая список «Самозакрывающихся ключей, которые должны вызывать повторное отступление».

Вы можете использовать Mx customize-variable RET css-electric-keys RET , чтобы установить для этого списка значение nil, или добавить (setq css-electric-keys nil) в файл инициализации.

Иногда для реализации используется второстепенный режим.электрическое поведение, так что вы можете легко включать и выключать их.Скорее всего, они будут найдены через Mx apropos-command RET electric RET , и вы, вероятно, будете использовать ловушку основного режима, чтобы гарантировать, что электрический вспомогательный режимбыл отключен, аналогично этому:

(add-hook 'MAJORMODE-mode-hook 'my-MAJORMODE-mode-hook)
(defun my-MAJORMODE-mode-hook ()
  (ELECTRICMODE-mode 0))
...