У меня есть несколько основных режимов (например: Yaml и NXML), которые я не хочу использовать в режиме электрического отступа (я хочу, чтобы это было на C-подобных языках), но я не могу отключиться, если выключен. Чтобы включить, я:
(electric-indent-mode 1)
из документации (для переменного электрического отступа)
Ненуле, если включен режим "Электрический отступ". См. Команду
electric-indent-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node
Простая настройка ") или вызовите функцию" электрический-отступ-режим".
и для функции
Переключить "на лету" (режим электрического отступа). С префиксом аргумент ARG, включить режим электрического отступа, если ARG положителен, и отключите его в противном случае. Если вызвано из Lisp, включите режим, если ARG опущено или нет.
поэтому я пытаюсь отключить его в hook:
(add-hook 'yaml-mode-hook (lambda ()
(electric-indent-mode -1)))
(Фактически я использую hook-change-major-mode-hook и проверяю (memql major-mode '(yaml-mode python-mode nxml-mode))
, где я могу добавить в список больше режимов).
Но это не работает, я также стараюсь:
(set (make-local-variable 'electric-indent-mode) nil)
Нет радости. Но он работает, когда я eval (electric-indent-mode -1)
из файлов .emacs.