[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
19.2 Automatic Scrolling
Redisplay scrolls the buffer automatically when point moves out of the visible portion of the text. The purpose of automatic scrolling is to make point visible, but you can customize many aspects of how this is done.
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.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |