我不喜欢电子缩进模式在乳胶模式下的工作方式。在其他任何地方(至少在我使用的所有地方),都很棒。
我如何才能永久禁用仅用于乳胶模式的电压痕模式,而将其保留在其他位置?
我猜这是我的配置文件中的一行lisp hack或类似的东西,但是我对lisp感到恐惧,所以我无法弄清楚。
我不喜欢电子缩进模式在乳胶模式下的工作方式。在其他任何地方(至少在我使用的所有地方),都很棒。
我如何才能永久禁用仅用于乳胶模式的电压痕模式,而将其保留在其他位置?
我猜这是我的配置文件中的一行lisp hack或类似的东西,但是我对lisp感到恐惧,所以我无法弄清楚。
Answers:
您需要的命令是electric-indent-local-mode
。您可以通过手动调用它来关闭任何缓冲区中的电子缩进模式M-x electric-indent-local-mode
。这是一个切换,因此在同一缓冲区中再次调用它会再次将其重新打开。
要从您的init文件中自动执行此操作,您需要设置一个钩子。首先,定义钩子:
(defun remove-electric-indent-mode ()
(electric-indent-local-mode -1))
然后将其添加到适当的模式挂钩。要为AUCTex提供的LaTeX模式关闭电子缩进模式,请使用以下命令:
(add-hook 'LaTeX-mode-hook 'remove-electric-indent-mode)
对于默认的texmode,请使用:
(add-hook 'tex-mode-hook 'remove-electric-indent-mode)
您要关闭电子压痕的任何其他模式都适用相同的模式。
有关模式挂钩的更多详细信息,请参见内置的Emacs手册节点[(emacs) Hooks][1]
。您可以通过C-h i r m Hooks <enter>
:从Emacs到达那里:C-h
获得帮助,i
信息,r
阅读手册,m
菜单项以及Hooks
选择菜单项。(或者您可以点击上面的链接查看html版本)。
(add-hook 'LaTeX-mode-hook (lambda () (electric-indent-local-mode -1)))
足够。