Deaktivieren Sie die automatische Einzug global in Emacs
-
10-10-2019 - |
Frage
Wie deaktivieren Sie die automatische Einzug in Emacs global oder nur für einige Modi?
Ich habe eine Reihe von Paketen für RubyOnRails installiert (Rubin, html, js, css).
Sagen wir, ich will disable autoindent für CSS-Modus.
Lösung
You may want to look for variable names containing the word electric
. (This is the common Emacs parlance for actions which occur automatically when particular visible characters are typed.)
In this instance, M-x apropos-variable
RET electric
RET shows me that there is a css-electric-keys
variable containing a list of "Self inserting keys which should trigger re-indentation."
You could use M-x customize-variable
RET css-electric-keys
RET to set this list to nil, or add (setq css-electric-keys nil)
to your init file.
Sometimes a minor mode is used to implement electric behaviours, so that you can switch them on and off more easily. Those would likely be found via M-x apropos-command
RET electric
RET, and you would probably use a major mode hook to ensure that the electric minor mode was disabled, in a similar fashion to this:
(add-hook 'MAJORMODE-mode-hook 'my-MAJORMODE-mode-hook)
(defun my-MAJORMODE-mode-hook ()
(ELECTRICMODE-mode 0))
Andere Tipps
For me, on emacs 24.x, M-xelectric-indent-mode
toggled the behavior that I wanted to disable.
FWIW, the behavior was that RET was bound to the command newline
which is defined in simple.el
... Among other things, the behavior of that command is altered by electric-indent-mode
.