GNU Emacs Manual - Inserting Text

Go to the first, previous, next, last section, table of contents.

## Inserting Text

To insert printing characters into the text you are editing, just type them. This inserts the characters you type into the buffer at the cursor (that is, at point; see section Point). The cursor moves forward, and any text after the cursor moves forward too. If the text in the buffer is ``FOOBAR'`, with the cursor before the ``B'`, then if you type `XX`, you get ``FOOXXBAR'`, with the cursor still before the ``B'`.

To delete text you have just inserted, use `DEL`. `DEL` deletes the character before the cursor (not the one that the cursor is on top of or under; that is the character after the cursor). The cursor and all characters after it move backwards. Therefore, if you type a printing character and then type `DEL`, they cancel out.

To end a line and start typing a new one, type `RET`. This inserts a newline character in the buffer. If point is in the middle of a line, `RET` splits the line. Typing `DEL` when the cursor is at the beginning of a line deletes the preceding newline, thus joining the line with the preceding line.

Emacs can split lines automatically when they become too long, if you turn on a special minor mode called Auto Fill mode. See section Filling Text, for how to use Auto Fill mode.

If you prefer to have text characters replace (overwrite) existing text rather than shove it to the right, you can enable Overwrite mode, a minor mode. See section Minor Modes.

Direct insertion works for printing characters and `SPC`, but other characters act as editing commands and do not insert themselves. If you need to insert a control character or a character whose code is above 200 octal, you must quote it by typing the character `Control-q` (`quoted-insert`) first. (This character's name is normally written `C-q` for short.) There are two ways to use `C-q`:

- `C-q` followed by any non-graphic character (even `C-g`) inserts that character.
- `C-q` followed by a sequence of octal digits inserts the character with the specified octal character code. You can use any number of octal digits; any non-digit terminates the sequence. If the terminating character is `RET`, it serves only to terminate the sequence; any other non-digit is itself used as input after terminating the sequence. (The use of octal sequences is disabled in ordinary non-binary Overwrite mode, to give you a convenient way to insert a digit instead of overwriting with it.)

When multibyte characters are enabled, octal codes 0200 through 0377 are not valid as characters; if you specify a code in this range, `C-q` assumes that you intend to use some ISO Latin-n character set, and converts the specified code to the corresponding Emacs character code. See section Enabling Multibyte Characters. You select which ISO Latin character set though your choice of language environment (see section Language Environments).

To use decimal or hexadecimal instead of octal, set the variable `read-quoted-char-radix` to 10 or 16. If the radix is greater than 10, some letters starting with `a` serve as part of a character code, just like digits.

A numeric argument to `C-q` specifies how many copies of the quoted character should be inserted (see section Numeric Arguments).

Customization information: `DEL` in most modes runs the command `delete-backward-char`; `RET` runs the command `newline`, and self-inserting printing characters run the command `self-insert`, which inserts whatever character was typed to invoke it. Some major modes rebind `DEL` to other commands.

Go to the first, previous, next, last section, table of contents.