Mercurial > hg > xemacs-beta
comparison man/xemacs/display.texi @ 428:3ecd8885ac67 r21-2-22
Import from CVS: tag r21-2-22
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:28:15 +0200 |
parents | |
children | c6b1500299a7 |
comparison
equal
deleted
inserted
replaced
427:0a0253eac470 | 428:3ecd8885ac67 |
---|---|
1 | |
2 @node Display, Search, Registers, Top | |
3 @chapter Controlling the Display | |
4 | |
5 Since only part of a large buffer fits in the window, XEmacs tries to show | |
6 the part that is likely to be interesting. The display control commands | |
7 allow you to specify which part of the text you want to see. | |
8 | |
9 @table @kbd | |
10 @item C-l | |
11 Clear frame and redisplay, scrolling the selected window to center | |
12 point vertically within it (@code{recenter}). | |
13 @item C-v | |
14 @itemx pgdn | |
15 @itemx next | |
16 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}). | |
17 On most X keyboards, you can get this functionality using the key | |
18 labelled @samp{Page Down}, which generates either @kbd{next} or @kbd{pgdn}. | |
19 @item M-v | |
20 @itemx pgup | |
21 @itemx prior | |
22 Scroll backward (@code{scroll-down}). On most X keyboards, you can get | |
23 this functionality using the key labelled @samp{Page Up}, which | |
24 generates either @kbd{prior} or @kbd{pgup}. | |
25 @item @var{arg} C-l | |
26 Scroll so point is on line @var{arg} (@code{recenter}). | |
27 @item C-x < | |
28 @itemx C-pgdn | |
29 @itemx C-next | |
30 Scroll text in current window to the left (@code{scroll-left}). | |
31 @item C-x > | |
32 @itemx C-pgup | |
33 @itemx C-prior | |
34 Scroll to the right (@code{scroll-right}). | |
35 @item C-x $ | |
36 Make deeply indented lines invisible (@code{set-selective-display}). | |
37 @end table | |
38 | |
39 @menu | |
40 * Scrolling:: Moving text up and down in a window. | |
41 * Horizontal Scrolling:: Moving text left and right in a window. | |
42 * Selective Display:: Hiding lines with lots of indentation. | |
43 * Display Vars:: Information on variables for customizing display. | |
44 @end menu | |
45 | |
46 @node Scrolling, Horizontal Scrolling, Display, Display | |
47 @section Scrolling | |
48 | |
49 If a buffer contains text that is too large to fit entirely within the | |
50 window that is displaying the buffer, XEmacs shows a contiguous section of | |
51 the text. The section shown always contains point. | |
52 | |
53 @cindex scrolling | |
54 @dfn{Scrolling} means moving text up or down in the window so that | |
55 different parts of the text are visible. Scrolling forward means that text | |
56 moves up, and new text appears at the bottom. Scrolling backward moves | |
57 text down and new text appears at the top. | |
58 | |
59 Scrolling happens automatically if you move point past the bottom or top | |
60 of the window. You can also explicitly request scrolling with the commands | |
61 in this section. | |
62 | |
63 @ifinfo | |
64 @table @kbd | |
65 @item C-l | |
66 Clear frame and redisplay, scrolling the selected window to center | |
67 point vertically within it (@code{recenter}). | |
68 @item C-v | |
69 @itemx pgdn | |
70 @itemx next | |
71 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}). | |
72 @item M-v | |
73 @itemx pgup | |
74 @itemx prior | |
75 Scroll backward (@code{scroll-down}). | |
76 @item @var{arg} C-l | |
77 Scroll so point is on line @var{arg} (@code{recenter}). | |
78 @end table | |
79 @end ifinfo | |
80 | |
81 @kindex C-l | |
82 @findex recenter | |
83 The most basic scrolling command is @kbd{C-l} (@code{recenter}) with no | |
84 argument. It clears the entire frame and redisplays all windows. In | |
85 addition, it scrolls the selected window so that point is halfway down | |
86 from the top of the window. | |
87 | |
88 @kindex C-v | |
89 @kindex M-v | |
90 @kindex pgup | |
91 @kindex pgdn | |
92 @kindex next | |
93 @kindex prior | |
94 @findex scroll-up | |
95 @findex scroll-down | |
96 The scrolling commands @kbd{C-v} and @kbd{M-v} let you move all the text | |
97 in the window up or down a few lines. @kbd{C-v} (@code{scroll-up}) with an | |
98 argument shows you that many more lines at the bottom of the window, moving | |
99 the text and point up together as @kbd{C-l} might. @kbd{C-v} with a | |
100 negative argument shows you more lines at the top of the window. | |
101 @kbd{Meta-v} (@code{scroll-down}) is like @kbd{C-v}, but moves in the | |
102 opposite direction.@refill | |
103 | |
104 @vindex next-screen-context-lines | |
105 To read the buffer a windowful at a time, use @kbd{C-v} with no | |
106 argument. @kbd{C-v} takes the last two lines at the bottom of the | |
107 window and puts them at the top, followed by nearly a whole windowful of | |
108 lines not previously visible. Point moves to the new top of the window | |
109 if it was in the text scrolled off the top. @kbd{M-v} with no argument | |
110 moves backward with similar overlap. The number of lines of overlap | |
111 across a @kbd{C-v} or @kbd{M-v} is controlled by the variable | |
112 @code{next-screen-context-lines}; by default, it is two. | |
113 | |
114 Another way to scroll is using @kbd{C-l} with a numeric argument. | |
115 @kbd{C-l} does not clear the frame when given an argument; it only | |
116 scrolls the selected window. With a positive argument @var{n}, @kbd{C-l} | |
117 repositions text to put point @var{n} lines down from the top. An | |
118 argument of zero puts point on the very top line. Point does not move | |
119 with respect to the text; rather, the text and point move rigidly on the | |
120 frame. @kbd{C-l} with a negative argument puts point that many lines | |
121 from the bottom of the window. For example, @kbd{C-u - 1 C-l} puts | |
122 point on the bottom line, and @kbd{C-u - 5 C-l} puts it five lines from | |
123 the bottom. Just @kbd{C-u} as argument, as in @kbd{C-u C-l}, scrolls | |
124 point to the center of the frame. | |
125 | |
126 @vindex scroll-step | |
127 Scrolling happens automatically if point has moved out of the visible | |
128 portion of the text when it is time to display. Usually scrolling is | |
129 done to put point vertically centered within the window. However, if | |
130 the variable @code{scroll-step} has a non-zero value, an attempt is made to | |
131 scroll the buffer by that many lines; if that is enough to bring point back | |
132 into visibility, that is what happens. | |
133 | |
134 Scrolling happens automatically if point has moved out of the visible | |
135 portion of the text when it is time to display. Usually scrolling is | |
136 done to put point vertically centered within the window. However, if | |
137 the variable @code{scroll-step} has a non-zero value, an attempt is made to | |
138 scroll the buffer by that many lines; if that is enough to bring point back | |
139 into visibility, that is what happens. | |
140 | |
141 @vindex scroll-conservatively | |
142 If you set @code{scroll-step} to a small value because you want to use | |
143 arrow keys to scroll the screen without recentering, the redisplay | |
144 preemption will likely make XEmacs keep recentering the screen when | |
145 scrolling fast, regardless of @code{scroll-step}. To prevent this, set | |
146 @code{scroll-conservatively} to a small value, which will have the | |
147 result of overriding the redisplay preemption. | |
148 | |
149 @node Horizontal Scrolling,, Scrolling, Display | |
150 @section Horizontal Scrolling | |
151 | |
152 @ifinfo | |
153 @table @kbd | |
154 @item C-x < | |
155 Scroll text in current window to the left (@code{scroll-left}). | |
156 @item C-x > | |
157 Scroll to the right (@code{scroll-right}). | |
158 @end table | |
159 @end ifinfo | |
160 | |
161 @kindex C-x < | |
162 @kindex C-x > | |
163 @findex scroll-left | |
164 @findex scroll-right | |
165 @cindex horizontal scrolling | |
166 The text in a window can also be scrolled horizontally. This means that | |
167 each line of text is shifted sideways in the window, and one or more | |
168 characters at the beginning of each line are not displayed at all. When a | |
169 window has been scrolled horizontally in this way, text lines are truncated | |
170 rather than continued (@pxref{Continuation Lines}), with a @samp{$} appearing | |
171 in the first column when there is text truncated to the left, and in the | |
172 last column when there is text truncated to the right. | |
173 | |
174 The command @kbd{C-x <} (@code{scroll-left}) scrolls the selected | |
175 window to the left by @var{n} columns with argument @var{n}. With no | |
176 argument, it scrolls by almost the full width of the window (two columns | |
177 less, to be precise). @kbd{C-x >} (@code{scroll-right}) scrolls | |
178 similarly to the right. The window cannot be scrolled any farther to | |
179 the right once it is displaying normally (with each line starting at the | |
180 window's left margin); attempting to do so has no effect. | |
181 | |
182 @node Selective Display, Display Vars, Display, Display | |
183 @section Selective Display | |
184 @findex set-selective-display | |
185 @kindex C-x $ | |
186 | |
187 XEmacs can hide lines indented more than a certain number | |
188 of columns (you specify how many columns). This allows you to get an | |
189 overview of a part of a program. | |
190 | |
191 To hide lines, type @kbd{C-x $} (@code{set-selective-display}) with a | |
192 numeric argument @var{n}. (@xref{Arguments}, for information on giving | |
193 the argument.) Lines with at least @var{n} columns of indentation | |
194 disappear from the screen. The only indication of their presence are | |
195 three dots (@samp{@dots{}}), which appear at the end of each visible | |
196 line that is followed by one or more invisible ones.@refill | |
197 | |
198 The invisible lines are still present in the buffer, and most editing | |
199 commands see them as usual, so it is very easy to put point in the middle | |
200 of invisible text. When this happens, the cursor appears at the end of the | |
201 previous line, after the three dots. If point is at the end of the visible | |
202 line, before the newline that ends it, the cursor appears before the three | |
203 dots. | |
204 | |
205 The commands @kbd{C-n} and @kbd{C-p} move across the invisible lines | |
206 as if they were not there. | |
207 | |
208 To make everything visible again, type @kbd{C-x $} with no argument. | |
209 | |
210 @node Display Vars,, Selective Display, Display | |
211 @section Variables Controlling Display | |
212 | |
213 This section contains information for customization only. Beginning | |
214 users should skip it. | |
215 | |
216 @vindex no-redraw-on-reenter | |
217 When you reenter XEmacs after suspending, XEmacs normally clears the | |
218 screen and redraws the entire display. On some terminals with more than | |
219 one page of memory, it is possible to arrange the termcap entry so that | |
220 the @samp{ti} and @samp{te} strings (output to the terminal when XEmacs | |
221 is entered and exited, respectively) switch between pages of memory so | |
222 as to use one page for XEmacs and another page for other output. In that | |
223 case, you might want to set the variable @code{no-redraw-on-reenter} to | |
224 non-@code{nil} so that XEmacs will assume, when resumed, that the screen | |
225 page it is using still contains what XEmacs last wrote there. | |
226 | |
227 @vindex echo-keystrokes | |
228 The variable @code{echo-keystrokes} controls the echoing of multi-character | |
229 keys; its value is the number of seconds of pause required to cause echoing | |
230 to start, or zero, meaning don't echo at all. @xref{Echo Area}. | |
231 | |
232 @vindex ctl-arrow | |
233 If the variable @code{ctl-arrow} is @code{nil}, control characters in the | |
234 buffer are displayed with octal escape sequences, all except newline and | |
235 tab. If its value is @code{t}, then control characters will be printed | |
236 with an up-arrow, for example @kbd{^A}. | |
237 | |
238 If its value is not @code{t} and not @code{nil}, then characters whose | |
239 code is greater than 160 (that is, the space character (32) with its | |
240 high bit set) will be assumed to be printable, and will be displayed | |
241 without alteration. This is the default when running under X Windows, | |
242 since XEmacs assumes an ISO/8859-1 character set (also known as | |
243 ``Latin1''). The @code{ctl-arrow} variable may also be set to an | |
244 integer, in which case all characters whose codes are greater than or | |
245 equal to that value will be assumed to be printable. | |
246 | |
247 Altering the value of @code{ctl-arrow} makes it local to the current | |
248 buffer; until that time, the default value is in effect. @xref{Locals}. | |
249 | |
250 @vindex tab-width | |
251 Normally, a tab character in the buffer is displayed as whitespace which | |
252 extends to the next display tab stop position, and display tab stops come | |
253 at intervals equal to eight spaces. The number of spaces per tab is | |
254 controlled by the variable @code{tab-width}, which is made local by | |
255 changing it, just like @code{ctl-arrow}. Note that how the tab character | |
256 in the buffer is displayed has nothing to do with the definition of | |
257 @key{TAB} as a command. | |
258 | |
259 @vindex selective-display-ellipses | |
260 If you set the variable @code{selective-display-ellipses} to @code{nil}, | |
261 the three dots at the end of a line that precedes invisible | |
262 lines do not appear. There is no visible indication of the invisible lines. | |
263 This variable becomes local automatically when set. |