0
|
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 @node Horizontal Scrolling,, Scrolling, Display
|
|
135 @section Horizontal Scrolling
|
|
136
|
|
137 @ifinfo
|
|
138 @table @kbd
|
|
139 @item C-x <
|
|
140 Scroll text in current window to the left (@code{scroll-left}).
|
|
141 @item C-x >
|
|
142 Scroll to the right (@code{scroll-right}).
|
|
143 @end table
|
|
144 @end ifinfo
|
|
145
|
|
146 @kindex C-x <
|
|
147 @kindex C-x >
|
|
148 @findex scroll-left
|
|
149 @findex scroll-right
|
|
150 @cindex horizontal scrolling
|
|
151 The text in a window can also be scrolled horizontally. This means that
|
|
152 each line of text is shifted sideways in the window, and one or more
|
|
153 characters at the beginning of each line are not displayed at all. When a
|
|
154 window has been scrolled horizontally in this way, text lines are truncated
|
|
155 rather than continued (@pxref{Continuation Lines}), with a @samp{$} appearing
|
|
156 in the first column when there is text truncated to the left, and in the
|
|
157 last column when there is text truncated to the right.
|
|
158
|
|
159 The command @kbd{C-x <} (@code{scroll-left}) scrolls the selected
|
|
160 window to the left by @var{n} columns with argument @var{n}. With no
|
|
161 argument, it scrolls by almost the full width of the window (two columns
|
|
162 less, to be precise). @kbd{C-x >} (@code{scroll-right}) scrolls
|
|
163 similarly to the right. The window cannot be scrolled any farther to
|
|
164 the right once it is displaying normally (with each line starting at the
|
|
165 window's left margin); attempting to do so has no effect.
|
|
166
|
|
167 @node Selective Display, Display Vars, Display, Display
|
|
168 @section Selective Display
|
|
169 @findex set-selective-display
|
|
170 @kindex C-x $
|
|
171
|
|
172 XEmacs can hide lines indented more than a certain number
|
|
173 of columns (you specify how many columns). This allows you to get an
|
|
174 overview of a part of a program.
|
|
175
|
|
176 To hide lines, type @kbd{C-x $} (@code{set-selective-display}) with a
|
|
177 numeric argument @var{n}. (@xref{Arguments}, for information on giving
|
|
178 the argument.) Lines with at least @var{n} columns of indentation
|
|
179 disappear from the screen. The only indication of their presence are
|
|
180 three dots (@samp{@dots{}}), which appear at the end of each visible
|
|
181 line that is followed by one or more invisible ones.@refill
|
|
182
|
|
183 The invisible lines are still present in the buffer, and most editing
|
|
184 commands see them as usual, so it is very easy to put point in the middle
|
|
185 of invisible text. When this happens, the cursor appears at the end of the
|
|
186 previous line, after the three dots. If point is at the end of the visible
|
|
187 line, before the newline that ends it, the cursor appears before the three
|
|
188 dots.
|
|
189
|
|
190 The commands @kbd{C-n} and @kbd{C-p} move across the invisible lines
|
|
191 as if they were not there.
|
|
192
|
|
193 To make everything visible again, type @kbd{C-x $} with no argument.
|
|
194
|
|
195 @node Display Vars,, Selective Display, Display
|
|
196 @section Variables Controlling Display
|
|
197
|
|
198 This section contains information for customization only. Beginning
|
|
199 users should skip it.
|
|
200
|
|
201 @vindex no-redraw-on-reenter
|
|
202 When you reenter XEmacs after suspending, XEmacs normally clears the
|
|
203 screen and redraws the entire display. On some terminals with more than
|
|
204 one page of memory, it is possible to arrange the termcap entry so that
|
|
205 the @samp{ti} and @samp{te} strings (output to the terminal when XEmacs
|
|
206 is entered and exited, respectively) switch between pages of memory so
|
|
207 as to use one page for XEmacs and another page for other output. In that
|
|
208 case, you might want to set the variable @code{no-redraw-on-reenter} to
|
|
209 non-@code{nil} so that XEmacs will assume, when resumed, that the screen
|
|
210 page it is using still contains what XEmacs last wrote there.
|
|
211
|
|
212 @vindex echo-keystrokes
|
|
213 The variable @code{echo-keystrokes} controls the echoing of multi-character
|
|
214 keys; its value is the number of seconds of pause required to cause echoing
|
|
215 to start, or zero, meaning don't echo at all. @xref{Echo Area}.
|
|
216
|
|
217 @vindex ctl-arrow
|
|
218 If the variable @code{ctl-arrow} is @code{nil}, control characters in the
|
|
219 buffer are displayed with octal escape sequences, all except newline and
|
|
220 tab. If its value is @code{t}, then control characters will be printed
|
|
221 with an up-arrow, for example @kbd{^A}.
|
|
222
|
|
223 If its value is not @code{t} and not @code{nil}, then characters whose
|
|
224 code is greater than 160 (that is, the space character (32) with its
|
|
225 high bit set) will be assumed to be printable, and will be displayed
|
|
226 without alteration. This is the default when running under X Windows,
|
|
227 since XEmacs assumes an ISO/8859-1 character set (also known as
|
|
228 ``Latin1''). The @code{ctl-arrow} variable may also be set to an
|
|
229 integer, in which case all characters whose codes are greater than or
|
|
230 equal to that value will be assumed to be printable.
|
|
231
|
|
232 Altering the value of @code{ctl-arrow} makes it local to the current
|
|
233 buffer; until that time, the default value is in effect. @xref{Locals}.
|
|
234
|
|
235 @vindex tab-width
|
|
236 Normally, a tab character in the buffer is displayed as whitespace which
|
|
237 extends to the next display tab stop position, and display tab stops come
|
|
238 at intervals equal to eight spaces. The number of spaces per tab is
|
|
239 controlled by the variable @code{tab-width}, which is made local by
|
|
240 changing it, just like @code{ctl-arrow}. Note that how the tab character
|
|
241 in the buffer is displayed has nothing to do with the definition of
|
|
242 @key{TAB} as a command.
|
|
243
|
|
244 @vindex selective-display-ellipses
|
|
245 If you set the variable @code{selective-display-ellipses} to @code{nil},
|
|
246 the three dots at the end of a line that precedes invisible
|
|
247 lines do not appear. There is no visible indication of the invisible lines.
|
|
248 This variable becomes local automatically when set.
|