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"; Note: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 the large key labeled
<DEL>, <BACKSPACE> or <DELETE> which is a short distance above the
<RET> or <ENTER> key. This is the key you normally use, outside Emacs,
for erasing the last character that you typed. Regardless of the label
on that key, Emacs thinks of it as <DEL>, and that's what we call it in
this manual.
The <DEL> key deletes the character _before_ the cursor. As a
consequence, the cursor and all the characters after it move backwards.
If you type a printing character and then type <DEL>, they cancel out.
On most computers, Emacs recognizes automatically which key ought to
be <DEL>, and sets it up that way. But in some cases, especially with
text-only terminals, you will need to tell Emacs which key to use for
that purpose. If the large key not far above the <RET> or <ENTER> key
doesn't delete backwards, you need to do this. Note:DEL Does Not
Delete, for an explanation of how.
Most PC keyboards have both a <BACKSPACE> key a short ways above
<RET> or <ENTER>, and a <DELETE> key elsewhere. On these keyboards,
Emacs supports when possible the usual convention that the <BACKSPACE>
key deletes backwards (it is <DEL>), while the <DELETE> key deletes
"forwards," deleting the character after point, the one underneath the
cursor, like `C-d' (see below).
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. Note:Filling,
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. Note: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 terminates the sequence and then
acts as normal input--thus, `C-q 1 0 1 B' inserts `AB'.
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, if you specify a code in the
range 0200 through 0377 octal, `C-q' assumes that you intend to use
some ISO 8859-N character set, and converts the specified code to the
corresponding Emacs character code. Note:Enabling Multibyte. You
select _which_ of the ISO 8859 character sets to use through your
choice of language environment (Note: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 (Note: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.