electric-indent-mode が不要な Major モード (Yaml や NXML など) はほとんどありませんが (C のような言語には必要です)、オフの場合は無効にできません。有効にするには:
(electric-indent-mode 1)
ドキュメントから(可変電気インデントモードの場合)
Electric-Indent モードが有効な場合は非 nil。コマンド
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
「Easy Customization」を参照するか、関数「electric-indent-mode」を呼び出します。
そして機能のために
オンザフライ再インデントを切り替えます (電気インデント モード)。前置引数 ARG を使用すると、ARG が正の場合は電気インデント モードを有効にし、それ以外の場合は無効にします。Lisp から呼び出された場合、ARG が省略されているか nil の場合はモードを有効にします。
だから私はフックでそれをオフにしようとします:
(add-hook 'yaml-mode-hook (lambda ()
(electric-indent-mode -1)))
(実際には after-change-major-mode-hook を使用(memql major-mode '(yaml-mode python-mode nxml-mode))
して、リストにモードを追加できる場所を確認します)。
しかし、うまくいきません。私も試しました:
(set (make-local-variable 'electric-indent-mode) nil)
喜びはありません。しかし(electric-indent-mode -1)
、.emacs ファイルから eval すると機能します。