Auto-newline insertion
Minor Modes
Auto-fill mode interaction
Hungry deletion of whitespace, or as it more commonly called, hungry-delete mode, is a simple feature that some people find extremely useful. In fact, you might find yourself wanting hungry-delete in all your editing modes!
In a nutshell, when hungry-delete mode is enabled, hitting the
BACKSPACE
key[1] will consume all preceding whitespace, including
newlines and tabs. This can really cut down on the number of
BACKSPACE
's you have to type if, for example you made a mistake on
the preceding line.
By default, when you hit the BACKSPACE
key
CC Mode runs the command c-electric-backspace
, which deletes
text in the backwards direction. When deleting a single character, or
when BACKSPACE
is hit in a literal
(see Auto-newline insertion),
or when hungry-delete mode is disabled, the function
contained in the c-backspace-function
variable is called with one
argument (the number of characters to delete). This variable is set to
backward-delete-char-untabify
by default.
Similarly, hitting the DELETE
key runs the command
c-electric-delete
. When deleting a single character, or when
DELETE
is hit in a literal, or when hungry-delete mode is
disabled, the function contained in the c-delete-function
variable is called with one argument (the number of characters to
delete). This variable is set to delete-char
by default.
However, if delete-key-deletes-forward
is nil
, or your
Emacs does not support separation of BACKSPACE
and DEL
, then
c-electric-delete
simply calls c-electric-backspace
.
[1] I say ``hit the BACKSPACE
key'' but what I really mean is ``when Emacs receives the BackSpace
key event''. The difference usually isn't significant to most users, but advanced users will realize that under window systems such as X, any physical key (keycap) on the keyboard can be configured to generate any keysym, and thus any Emacs key event. Also, the use of Emacs on TTYs will affect which keycap generates which key event. From a pedantic point of view, here we are only concerned with the key event that Emacs receives.