如何在 Emacs 中全局或仅在某些模式下禁用自动缩进?
我为 RubyOnRails 安装了许多软件包(ruby、html、js、css)。
假设我想禁用 css 模式的自动缩进。
如何在 Emacs 中全局或仅在某些模式下禁用自动缩进?
我为 RubyOnRails 安装了许多软件包(ruby、html、js、css)。
假设我想禁用 css 模式的自动缩进。
对我来说,在 emacs 24.x 上,M-xelectric-indent-mode
切换了我想要禁用的行为。
FWIW,该行为被RET绑定到newline
定义在simple.el
...中的命令。除此之外,该命令的行为被改变electric-indent-mode
。
您可能想要查找包含单词的变量名electric
。(这是 Emacs 常用的说法,即在键入特定可见字符时自动发生的操作。)
在这种情况下,M-x apropos-variable
RET electric
RET向我展示了一个css-electric-keys
包含“应触发重新缩进的自插入键”列表的变量。
您可以使用M-x customize-variable
RET css-electric-keys
RET将此列表设置为 nil,或添加(setq css-electric-keys nil)
到您的 init 文件中。
有时使用次要模式来实现电行为,以便您可以更轻松地打开和关闭它们。这些可能会通过 找到M-x apropos-command
RET electric
RET,并且您可能会使用主要模式挂钩来确保禁用电动次要模式,其方式与此类似:
(add-hook 'MAJORMODE-mode-hook 'my-MAJORMODE-mode-hook)
(defun my-MAJORMODE-mode-hook ()
(ELECTRICMODE-mode 0))