1. Home
  2. Computing & Technology
  3. Linux

By Juergen Haas, About.com

<PAGEDOWN> runs scroll-up.

Some users like the full-screen scroll commands to keep point at the same screen line. To enable this behavior, set the variable scroll-preserve-screen-position to a non-nil value. This mode is convenient for browsing through a file by scrolling by screenfuls; if you come back to the screen where you started, point goes back to the line where it started. However, this mode is inconvenient when you move to the next screen in order to move point to the text there.

Another way to do scrolling is with C-l with a numeric argument. C-l does not clear the screen when given an argument; it only scrolls the selected window. With a positive argument n, it repositions text to put point n lines down from the top. An argument of zero puts point on the very top line. Point does not move with respect to the text; rather, the text and point move rigidly on the screen. C-l with a negative argument puts point that many lines from the bottom of the window. For example, C-u - 1 C-l puts point on the bottom line, and C-u - 5 C-l puts it five lines from the bottom. C-u C-l scrolls to put point at the center (vertically) of the selected window.

The C-M-l command (reposition-window) scrolls the current window heuristically in a way designed to get useful information onto the screen. For example, in a Lisp file, this command tries to get the entire current defun onto the screen if possible.

Scrolling happens automatically when point moves out of the visible portion of the text. Normally, automatic scrolling centers point vertically within the window. However, if you set scroll-conservatively to a small number n, then if you move point just a little off the screen--less than n lines--then Emacs scrolls the text just far enough to bring point back on screen. By default, scroll-conservatively is 0.

When the window does scroll by a longer distance, you can control how aggressively it scrolls, by setting the variables scroll-up-aggressively and scroll-down-aggressively. The value of scroll-up-aggressively should be either nil, or a fraction f between 0 and 1. A fraction specifies where on the screen to put point when scrolling upward. More precisely, when a window scrolls up because point is above the window start, the new start position is chosen to put point f part of the window height from the top. The larger f, the more aggressive the scrolling.

nil, which is the default, scrolls to put point at the center. So it is equivalent to .5.

Likewise, scroll-down-aggressively is used for scrolling down. The value, f, specifies how far point should be placed from the bottom of the window; thus, as with scroll-up-aggressively, a larger value is more aggressive.

The variable scroll-margin restricts how close point can come to the top or bottom of a window. Its value is a number of screen lines; if point comes within that many lines of the top or bottom of the window, Emacs recenters the window. By default, scroll-margin is 0.

Explore Linux

More from About.com

  1. Home
  2. Computing & Technology
  3. Linux

©2008 About.com, a part of The New York Times Company.

All rights reserved.