www.delorie.com/gnu/docs/emacs/emacs_21.html   search  
 
Buy the book!


GNU Emacs Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

D.2 Changing the Location of Point

To do more than insert characters, you have to know how to move point (see section B.1 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 (these date back to the days before terminals had arrow keys, and are usable on terminals which don't have them). Others do more sophisticated things.

C-a
Move to the beginning of the line (beginning-of-line).
C-e
Move to the end of the line (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 end in 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.
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. It counts screen lines down from the top of the window (zero for the top line). A negative argument counts lines from the bottom (-1 for 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 D.10 Numeric Arguments, for more information on numeric arguments.
M->
Move to the end of the buffer (end-of-buffer).
C-v
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 key, it does the same thing.

Scrolling commands are further described in J.6 Scrolling.

M-v
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. The PAGEUP key has the same effect.
M-x goto-char
Read a number n and move point to buffer position n. Position 1 is the beginning of the buffer.
M-x goto-line
Read a number n and move point to line number n. Line 1 is the beginning of the buffer.
C-x C-n
Use the current column of point as the semipermanent goal column for C-n and C-p (set-goal-column). Henceforth, those commands always move to this column in each line moved into, or as close as possible given the contents of the line. This goal column remains in effect until canceled.
C-u C-x C-n
Cancel the goal column. Henceforth, C-n and C-p once again try to stick to a fixed 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 AD.2 Variables, for how to set variables such as track-eol.

C-n normally gets an error when you use it on the last line of the buffer (just as C-p gets an error on the first line). But 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 onto it.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003