Within Emacs, the active cursor shows the location at which
editing commands will take effect. This location is called point.
Many Emacs commands move point through the text, so that you can edit at
different places in it. You can also place point by clicking mouse
While the cursor appears to point at a character, you should
think of point as between two characters; it points before
the character that appears under the cursor. For example, if your text
looks like ‘frob’ with the cursor over the ‘b’, then point is
between the ‘o’ and the ‘b’. If you insert the character
‘!’ at that position, the result is ‘fro!b’, with point
between the ‘!’ and the ‘b’. Thus, the cursor remains over
the ‘b’, as before.
Sometimes people speak of “the cursor” when they mean “point,” or
speak of commands that move point as “cursor motion” commands.
If you are editing several files in Emacs, each in its own buffer,
each buffer has its own point location. A buffer that is not
currently displayed remembers its point location in case you display
it again later. When Emacs displays multiple windows, each window has
its own point location. If the same buffer appears in more than one
window, each window has its own position for point in that buffer, and
(when possible) its own cursor.
A text-only terminal has just one cursor, so Emacs puts it
in the selected window. The other windows do not show a cursor, even
though they do have a location of point. When Emacs updates the
screen on a text-only terminal, it has to put the cursor temporarily
at the place the output goes. This doesn't mean point is there,
though. Once display updating finishes, Emacs puts the cursor where
On graphical terminals, Emacs shows a cursor in each window; the
selected window's cursor is solid and blinking, and the other cursors
are just hollow. Thus, the most prominent cursor always shows you the
selected window, on all kinds of terminals.
See Cursor Display, for customizable variables that control display
of the cursor or cursors.
The term “point” comes from the character ‘.’, which was the
command in TECO (the language in which the original Emacs was written)
for accessing the value now called “point.”