comparison man/xemacs/display.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children 7df0dd720c89
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
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.