This section describes higher-level commands for inserting text, commands intended primarily for the user but useful also in Lisp programs.
This command inserts the entire accessible contents of
from-buffer-or-name (which must exist) into the current buffer
after point. It leaves the mark after the inserted text. The value
This command inserts the last character typed; it does so count
times, before point, and returns
nil. Most printing characters
are bound to this command. In routine use,
is the most frequently called function in Emacs, but programs rarely use
it except to install it on a keymap.
In an interactive call, count is the numeric prefix argument.
Self-insertion translates the input character through translation-table-for-input. See Translation of Characters.
This command calls
auto-fill-function whenever that is
nil and the character inserted is in the table
auto-fill-chars (see Auto Filling).
This command performs abbrev expansion if Abbrev mode is enabled and the inserted character does not have word-constituent syntax. (See Abbrevs, and Syntax Class Table.) It is also responsible for calling blink-paren-function when the inserted character has close parenthesis syntax (see Blinking).
The final thing this command does is to run the hook post-self-insert-hook. You could use this to automatically reindent text as it is typed, for example.
Do not try substituting your own definition of
self-insert-command for the standard one. The editor command
loop handles this function specially.
This command inserts newlines into the current buffer before point. If number-of-newlines is supplied, that many newline characters are inserted.
This function calls
auto-fill-function if the current column
number is greater than the value of fill-column and
nil. Typically what
auto-fill-function does is insert a newline; thus, the overall
result in this case is to insert two newlines at different places: one
at point, and another earlier in the line.
newline does not
auto-fill if number-of-newlines is non-
This command indents to the left margin if that is not zero. See Margins.
The value returned is
nil. In an interactive call, count
is the numeric prefix argument.
This variable controls whether overwrite mode is in effect. The value
should be overwrite-mode-textual, overwrite-mode-binary,
nil. overwrite-mode-textual specifies textual
overwrite mode (treats newlines and tabs specially), and
overwrite-mode-binary specifies binary overwrite mode (treats
newlines and tabs like any other characters).