Next: , Previous: , Up: Display   [Contents][Index]


11.1 Scrolling

If a buffer contains text that is too large to fit entirely within the window that is displaying the buffer, SXEmacs shows a contiguous section of the text. The section shown always contains point.

Scrolling means moving text up or down in the window so that different parts of the text are visible. Scrolling forward means that text moves up, and new text appears at the bottom. Scrolling backward moves text down and new text appears at the top.

Scrolling happens automatically if you move point past the bottom or top of the window. You can also explicitly request scrolling with the commands in this section.

The most basic scrolling command is C-l (recenter) with no argument. It clears the entire frame and redisplays all windows. In addition, it scrolls the selected window so that point is halfway down from the top of the window.

The scrolling commands C-v and M-v let you move all the text in the window up or down a few lines. C-v (scroll-up) with an argument shows you that many more lines at the bottom of the window, moving the text and point up together as C-l might. C-v with a negative argument shows you more lines at the top of the window. Meta-v (scroll-down) is like C-v, but moves in the opposite direction.

To read the buffer a windowful at a time, use C-v with no argument. C-v takes the last two lines at the bottom of the window and puts them at the top, followed by nearly a whole windowful of lines not previously visible. Point moves to the new top of the window if it was in the text scrolled off the top. M-v with no argument moves backward with similar overlap. The number of lines of overlap across a C-v or M-v is controlled by the variable next-screen-context-lines; by default, it is two.

Another way to scroll is using C-l with a numeric argument. C-l does not clear the frame when given an argument; it only scrolls the selected window. With a positive argument n, C-l 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 frame. 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. Just C-u as argument, as in C-u C-l, scrolls point to the center of the frame.

Scrolling happens automatically if point has moved out of the visible portion of the text when it is time to display. Usually scrolling is done to put point vertically centered within the window. However, if the variable scroll-step has a non-zero value, an attempt is made to scroll the buffer by that many lines; if that is enough to bring point back into visibility, that is what happens.

Scrolling happens automatically if point has moved out of the visible portion of the text when it is time to display. Usually scrolling is done to put point vertically centered within the window. However, if the variable scroll-step has a non-zero value, an attempt is made to scroll the buffer by that many lines; if that is enough to bring point back into visibility, that is what happens.

If you set scroll-step to a small value because you want to use arrow keys to scroll the screen without recentering, the redisplay preemption will likely make SXEmacs keep recentering the screen when scrolling fast, regardless of scroll-step. To prevent this, set scroll-conservatively to a small value, which will have the result of overriding the redisplay preemption.


Next: , Previous: , Up: Display   [Contents][Index]