[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.2 Changing the Location of Point
To do more than insert characters, you have to know how to move point (see section Point). The simplest way to do this is with arrow keys, or by clicking the left mouse button where you want to move to.
There are also control and meta characters for cursor motion. Some are equivalent to the arrow keys (it is faster to use these control keys than move your hand over to the arrow keys). Others do more sophisticated things.
- C-a
Move to the beginning of the line (
move-beginning-of-line
).- C-e
Move to the end of the line (
move-end-of-line
).- C-f
Move forward one character (
forward-char
). The right-arrow key does the same thing.- C-b
Move backward one character (
backward-char
). The left-arrow key has the same effect.- M-f
Move forward one word (
forward-word
).- M-b
Move backward one word (
backward-word
).- C-n
Move down one line vertically (
next-line
). This command attempts to keep the horizontal position unchanged, so if you start in the middle of one line, you move to the middle of the next. The down-arrow key does the same thing.- C-p
Move up one line, vertically (
previous-line
). The up-arrow key has the same effect. This command preserves position within the line, like C-n.- M-r
Move point to left margin, vertically centered in the window (
move-to-window-line
). Text does not move on the screen. A numeric argument says which screen line to place point on, counting downward from the top of the window (zero means the top line). A negative argument counts lines up from the bottom (-1 means the bottom line).- M-<
Move to the top of the buffer (
beginning-of-buffer
). With numeric argument n, move to n/10 of the way from the top. See section Numeric Arguments, for more information on numeric arguments.- M->
Move to the end of the buffer (
end-of-buffer
).- C-v
- <PAGEDOWN>
- <PRIOR>
Scroll the display one screen forward, and move point if necessary to put it on the screen (
scroll-up
). This doesn't always move point, but it is commonly used to do so. If your keyboard has a <PAGEDOWN> or <PRIOR> key, it does the same thing.Scrolling commands are described further in Scrolling.
- M-v
- <PAGEUP>
- <NEXT>
Scroll one screen backward, and move point if necessary to put it on the screen (
scroll-down
). This doesn't always move point, but it is commonly used to do so. If your keyboard has a <PAGEUP> or <NEXT> key, it does the same thing.- M-x goto-char
Read a number n and move point to buffer position n. Position 1 is the beginning of the buffer.
- M-g M-g
- M-g g
- M-x goto-line
Read a number n and move point to the beginning of line number n. Line 1 is the beginning of the buffer. If point is on or just after a number in the buffer, and you type <RET> with the minibuffer empty, that number is used for n.
- C-x C-n
-
Use the current column of point as the semipermanent goal column for C-n and C-p (
set-goal-column
). When a semipermanent goal column is in effect, those commands always try to move to this column, or as close as possible to it, after moving vertically. The goal column remains in effect until canceled. - C-u C-x C-n
Cancel the goal column. Henceforth, C-n and C-p try to preserve the horizontal position, as usual.
If you set the variable track-eol
to a non-nil
value,
then C-n and C-p, when starting at the end of the line, move
to the end of another line. Normally, track-eol
is nil
.
See section Variables, for how to set variables such as track-eol
.
C-n normally stops at the end of the buffer when you use it on
the last line of the buffer. However, if you set the variable
next-line-add-newlines
to a non-nil
value, C-n on
the last line of a buffer creates an additional line at the end and
moves down into it.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |