Mercurial > emacs
annotate man/display.texi @ 71710:dbbc0b93cfeb
(Forcing Redisplay, Displaying Messages, Temporary Displays, Font Selection,
Auto Faces, Font Lookup, Fringe Indicators, Display Margins, Image Descriptors,
Showing Images, Image Cache, Button Types, Making Buttons, Manipulating
Buttons, Button Buffer Commands, Display Table Format, Glyphs): Remove
@tindex.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 08 Jul 2006 18:11:49 +0000 |
parents | e0b0c80d7e1c |
children | c7e4f78b81a6 138ce2701550 |
rev | line source |
---|---|
36157
f079e00e119f
The log entry for the previous version was a spazz. Ignore it.
Richard M. Stallman <rms@gnu.org>
parents:
36156
diff
changeset
|
1 @c This is part of the Emacs manual. |
64890
3723093a21fd
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64869
diff
changeset
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
68639
dc2d5a6655a3
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
68539
diff
changeset
|
3 @c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
25829 | 4 @c See file emacs.texi for copying conditions. |
5 @node Display, Search, Registers, Top | |
6 @chapter Controlling the Display | |
7 | |
8 Since only part of a large buffer fits in the window, Emacs tries to | |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
9 show a part that is likely to be interesting. Display-control |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
10 commands allow you to specify which part of the text you want to see, |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
11 and how to display it. Many variables also affect the details of |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
12 redisplay. Unless otherwise stated, the variables described in this |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
13 chapter have their effect by customizing redisplay itself; therefore, |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
14 their values only make a difference at the time of redisplay. |
25829 | 15 |
16 @menu | |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
17 * Scrolling:: Commands to move text up and down in a window. |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
18 * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
68516 | 19 * Horizontal Scrolling:: Moving text left and right in a window. |
20 * Follow Mode:: Follow mode lets two windows scroll as one. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
21 * Faces:: How to change the display style using faces. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
22 * Standard Faces:: Emacs' predefined faces. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
23 * Font Lock:: Minor mode for syntactic highlighting using faces. |
66961
e94fbe611ffc
(Highlight Interactively): Put this font-lock based mode
Juri Linkov <juri@jurta.org>
parents:
65077
diff
changeset
|
24 * Highlight Interactively:: Tell Emacs what text to highlight. |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
25 * Fringes:: Enabling or disabling window fringes. |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
26 * Useless Whitespace:: Showing possibly-spurious trailing whitespace. |
25829 | 27 * Selective Display:: Hiding lines with lots of indentation. |
28 * Optional Mode Line:: Optional mode line display features. | |
29 * Text Display:: How text characters are normally displayed. | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
30 * Cursor Display:: Features for displaying the cursor. |
36150
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
31 * Display Custom:: Information on variables for customizing display. |
25829 | 32 @end menu |
33 | |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
34 @node Scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
35 @section Scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
36 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
37 If a buffer contains text that is too large to fit entirely within a |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
38 window that is displaying the buffer, Emacs shows a contiguous portion of |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
39 the text. The portion shown always contains point. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
40 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
41 @cindex scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
42 @dfn{Scrolling} means moving text up or down in the window so that |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
43 different parts of the text are visible. Scrolling ``forward'' or |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
44 ``up'' means that text moves up, and new text appears at the bottom. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
45 Scrolling ``backward'' or ``down'' moves text down, and new text |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
46 appears at the top. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
47 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
48 Scrolling happens automatically if you move point past the bottom or |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
49 top of the window. You can also scroll explicitly with the commands |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
50 in this section. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
51 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
52 @table @kbd |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
53 @item C-l |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
54 Clear screen and redisplay, scrolling the selected window to center |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
55 point vertically within it (@code{recenter}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
56 @item C-v |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
57 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
58 @item @key{NEXT} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
59 @itemx @key{PAGEDOWN} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
60 Likewise, scroll forward. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
61 @item M-v |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
62 Scroll backward (@code{scroll-down}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
63 @item @key{PRIOR} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
64 @itemx @key{PAGEUP} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
65 Likewise, scroll backward. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
66 @item @var{arg} C-l |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
67 Scroll so point is on line @var{arg} (@code{recenter}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
68 @item C-M-l |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
69 Scroll heuristically to bring useful information onto the screen |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
70 (@code{reposition-window}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
71 @end table |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
72 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
73 @kindex C-l |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
74 @findex recenter |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
75 The most basic scrolling command is @kbd{C-l} (@code{recenter}) with |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
76 no argument. It scrolls the selected window so that point is halfway |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
77 down from the top of the window. On a text terminal, it also clears |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
78 the screen and redisplays all windows. That is useful in case the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
79 screen is garbled (@pxref{Screen Garbled}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
80 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
81 @kindex C-v |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
82 @kindex M-v |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
83 @kindex NEXT |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
84 @kindex PRIOR |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
85 @kindex PAGEDOWN |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
86 @kindex PAGEUP |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
87 @findex scroll-up |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
88 @findex scroll-down |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
89 To read the buffer a windowful at a time, use @kbd{C-v} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
90 (@code{scroll-up}) with no argument. This scrolls forward by nearly |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
91 the whole window height. The effect is to take the two lines at the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
92 bottom of the window and put them at the top, followed by nearly a |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
93 whole windowful of lines that were not previously visible. If point |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
94 was in the text that scrolled off the top, it ends up at the new top |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
95 of the window. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
96 |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
97 @vindex next-screen-context-lines |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
98 @kbd{M-v} (@code{scroll-down}) with no argument scrolls backward in |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
99 a similar way, also with overlap. The number of lines of overlap that |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
100 the @kbd{C-v} or @kbd{M-v} commands leave is controlled by the |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
101 variable @code{next-screen-context-lines}; by default, it is 2. The |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
102 function keys @key{NEXT} and @key{PRIOR}, or @key{PAGEDOWN} and |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
103 @key{PAGEUP}, are equivalent to @kbd{C-v} and @kbd{M-v}. |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
104 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
105 The commands @kbd{C-v} and @kbd{M-v} with a numeric argument scroll |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
106 the text in the selected window up or down a few lines. @kbd{C-v} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
107 with an argument moves the text and point up, together, that many |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
108 lines; it brings the same number of new lines into view at the bottom |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
109 of the window. @kbd{M-v} with numeric argument scrolls the text |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
110 downward, bringing that many new lines into view at the top of the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
111 window. @kbd{C-v} with a negative argument is like @kbd{M-v} and vice |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
112 versa. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
113 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
114 The names of scroll commands are based on the direction that the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
115 text moves in the window. Thus, the command to scroll forward is |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
116 called @code{scroll-up} because it moves the text upward on the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
117 screen. The keys @key{PAGEDOWN} and @key{PAGEUP} derive their names |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
118 and customary meanings from a different convention that developed |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
119 elsewhere; hence the strange result that @key{PAGEDOWN} runs |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
120 @code{scroll-up}. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
121 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
122 @vindex scroll-preserve-screen-position |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
123 Some users like the full-screen scroll commands to keep point at the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
124 same screen line. To enable this behavior, set the variable |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
125 @code{scroll-preserve-screen-position} to a non-@code{nil} value. In |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
126 this mode, when these commands would scroll the text around point off |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
127 the screen, or within @code{scroll-margin} lines of the edge, they |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
128 moves point to keep the same vertical position within the window. |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
129 This mode is convenient for browsing through a file by scrolling by |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
130 screenfuls; if you come back to the screen where you started, point |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
131 goes back to the line where it started. However, this mode is |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
132 inconvenient when you move to the next screen in order to move point |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
133 to the text there. |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
134 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
135 Another way to do scrolling is with @kbd{C-l} with a numeric argument. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
136 @kbd{C-l} does not clear the screen when given an argument; it only scrolls |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
137 the selected window. With a positive argument @var{n}, it repositions text |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
138 to put point @var{n} lines down from the top. An argument of zero puts |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
139 point on the very top line. Point does not move with respect to the text; |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
140 rather, the text and point move rigidly on the screen. @kbd{C-l} with a |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
141 negative argument puts point that many lines from the bottom of the window. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
142 For example, @kbd{C-u - 1 C-l} puts point on the bottom line, and @kbd{C-u |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
143 - 5 C-l} puts it five lines from the bottom. @kbd{C-u C-l} scrolls to put |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
144 point at the center (vertically) of the selected window. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
145 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
146 @kindex C-M-l |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
147 @findex reposition-window |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
148 The @kbd{C-M-l} command (@code{reposition-window}) scrolls the current |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
149 window heuristically in a way designed to get useful information onto |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
150 the screen. For example, in a Lisp file, this command tries to get the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
151 entire current defun onto the screen if possible. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
152 |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
153 @node Auto Scrolling |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
154 @section Automatic Scrolling |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
155 |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
156 @vindex scroll-conservatively |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
157 Redisplay scrolls the buffer automatically when point moves out of |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
158 the visible portion of the text. The purpose of automatic scrolling |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
159 is to make point visible, but you can customize many aspects of how |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
160 this is done. |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
161 |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
162 Normally, automatic scrolling centers point vertically within the |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
163 window. However, if you set @code{scroll-conservatively} to a small |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
164 number @var{n}, then if you move point just a little off the |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
165 screen---less than @var{n} lines---then Emacs scrolls the text just |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
166 far enough to bring point back on screen. By default, |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
167 @code{scroll-conservatively} is 0. |
68517
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
168 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
169 @cindex aggressive scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
170 @vindex scroll-up-aggressively |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
171 @vindex scroll-down-aggressively |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
172 When the window does scroll by a longer distance, you can control |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
173 how aggressively it scrolls, by setting the variables |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
174 @code{scroll-up-aggressively} and @code{scroll-down-aggressively}. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
175 The value of @code{scroll-up-aggressively} should be either |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
176 @code{nil}, or a fraction @var{f} between 0 and 1. A fraction |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
177 specifies where on the screen to put point when scrolling upward. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
178 More precisely, when a window scrolls up because point is above the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
179 window start, the new start position is chosen to put point @var{f} |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
180 part of the window height from the top. The larger @var{f}, the more |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
181 aggressive the scrolling. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
182 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
183 @code{nil}, which is the default, scrolls to put point at the center. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
184 So it is equivalent to .5. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
185 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
186 Likewise, @code{scroll-down-aggressively} is used for scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
187 down. The value, @var{f}, specifies how far point should be placed |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
188 from the bottom of the window; thus, as with |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
189 @code{scroll-up-aggressively}, a larger value is more aggressive. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
190 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
191 @vindex scroll-margin |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
192 The variable @code{scroll-margin} restricts how close point can come |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
193 to the top or bottom of a window. Its value is a number of screen |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
194 lines; if point comes within that many lines of the top or bottom of the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
195 window, Emacs recenters the window. By default, @code{scroll-margin} is |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
196 0. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
197 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
198 @node Horizontal Scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
199 @section Horizontal Scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
200 @cindex horizontal scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
201 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
202 @dfn{Horizontal scrolling} means shifting all the lines sideways |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
203 within a window---so that some of the text near the left margin is not |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
204 displayed at all. When the text in a window is scrolled horizontally, |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
205 text lines are truncated rather than continued (@pxref{Display |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
206 Custom}). Whenever a window shows truncated lines, Emacs |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
207 automatically updates its horizontal scrolling whenever point moves |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
208 off the left or right edge of the screen. You can also use these |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
209 commands to do explicit horizontal scrolling. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
210 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
211 @table @kbd |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
212 @item C-x < |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
213 Scroll text in current window to the left (@code{scroll-left}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
214 @item C-x > |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
215 Scroll to the right (@code{scroll-right}). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
216 @end table |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
217 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
218 @kindex C-x < |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
219 @kindex C-x > |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
220 @findex scroll-left |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
221 @findex scroll-right |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
222 The command @kbd{C-x <} (@code{scroll-left}) scrolls the selected |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
223 window to the left by @var{n} columns with argument @var{n}. This moves |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
224 part of the beginning of each line off the left edge of the window. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
225 With no argument, it scrolls by almost the full width of the window (two |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
226 columns less, to be precise). |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
227 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
228 @kbd{C-x >} (@code{scroll-right}) scrolls similarly to the right. The |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
229 window cannot be scrolled any farther to the right once it is displayed |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
230 normally (with each line starting at the window's left margin); |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
231 attempting to do so has no effect. This means that you don't have to |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
232 calculate the argument precisely for @w{@kbd{C-x >}}; any sufficiently large |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
233 argument will restore the normal display. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
234 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
235 If you use those commands to scroll a window horizontally, that sets |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
236 a lower bound for automatic horizontal scrolling. Automatic scrolling |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
237 will continue to scroll the window, but never farther to the right |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
238 than the amount you previously set by @code{scroll-left}. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
239 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
240 @vindex hscroll-margin |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
241 The value of the variable @code{hscroll-margin} controls how close |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
242 to the window's edges point is allowed to get before the window will |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
243 be automatically scrolled. It is measured in columns. If the value |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
244 is 5, then moving point within 5 columns of the edge causes horizontal |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
245 scrolling away from that edge. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
246 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
247 @vindex hscroll-step |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
248 The variable @code{hscroll-step} determines how many columns to |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
249 scroll the window when point gets too close to the edge. If it's |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
250 zero, horizontal scrolling centers point horizontally within the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
251 window. If it's a positive integer, it specifies the number of |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
252 columns to scroll by. If it's a floating-point number, it specifies |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
253 the fraction of the window's width to scroll by. The default is zero. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
254 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
255 @vindex auto-hscroll-mode |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
256 To disable automatic horizontal scrolling, set the variable |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
257 @code{auto-hscroll-mode} to @code{nil}. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
258 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
259 @node Follow Mode |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
260 @section Follow Mode |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
261 @cindex Follow mode |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
262 @cindex mode, Follow |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
263 @findex follow-mode |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
264 @cindex windows, synchronizing |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
265 @cindex synchronizing windows |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
266 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
267 @dfn{Follow mode} is a minor mode that makes two windows, both |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
268 showing the same buffer, scroll as a single tall ``virtual window.'' |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
269 To use Follow mode, go to a frame with just one window, split it into |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
270 two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
271 follow-mode}. From then on, you can edit the buffer in either of the |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
272 two windows, or scroll either one; the other window follows it. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
273 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
274 In Follow mode, if you move point outside the portion visible in one |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
275 window and into the portion visible in the other window, that selects |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
276 the other window---again, treating the two as if they were parts of |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
277 one large window. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
278 |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
279 To turn off Follow mode, type @kbd{M-x follow-mode} a second time. |
698cfed8969f
(Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents:
68516
diff
changeset
|
280 |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
281 @node Faces |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
282 @section Using Multiple Typefaces |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
283 @cindex faces |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
284 |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
285 You can specify various styles for displaying text using |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
286 @dfn{faces}. Each face can specify various @dfn{face attributes}, |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
287 such as the font family, the height, weight and slant of the |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
288 characters, the foreground and background color, and underlining or |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
289 overlining. A face does not have to specify all of these attributes; |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
290 often it inherits most of them from another face. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
291 |
68516 | 292 On graphical display, all the Emacs face attributes are meaningful. |
293 On a text-only terminal, only some of them work. Some text-only | |
42668
64f73b2b1f0e
(Faces): More updates for faces on character terminals.
Richard M. Stallman <rms@gnu.org>
parents:
42655
diff
changeset
|
294 terminals support inverse video, bold, and underline attributes; some |
68516 | 295 support colors. Text-only terminals generally do not support changing |
42668
64f73b2b1f0e
(Faces): More updates for faces on character terminals.
Richard M. Stallman <rms@gnu.org>
parents:
42655
diff
changeset
|
296 the height and width or the font family. |
42655
d16bc97d648e
(Faces): Mention that character terminals also support faces.
Eli Zaretskii <eliz@gnu.org>
parents:
42234
diff
changeset
|
297 |
68516 | 298 Emacs uses faces automatically for highlighting, through the work of |
299 Font Lock mode. @xref{Font Lock}, for more information about Font | |
300 Lock mode and syntactic highlighting. You can print out the buffer | |
301 with the highlighting that appears on your screen using the command | |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
302 @code{ps-print-buffer-with-faces}. @xref{PostScript}. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
303 |
37485
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
304 You control the appearance of a part of the text in the buffer by |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
305 specifying the face or faces to use for it. The style of display used |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
306 for any given character is determined by combining the attributes of |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
307 all the applicable faces specified for that character. Any attribute |
38745 | 308 that isn't specified by these faces is taken from the @code{default} face, |
38115
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
309 whose attributes reflect the default settings of the frame itself. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
310 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
311 Enriched mode, the mode for editing formatted text, includes several |
37485
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
312 commands and menus for specifying faces for text in the buffer. |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
313 @xref{Format Faces}, for how to specify the font for text in the |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
314 buffer. @xref{Format Colors}, for how to specify the foreground and |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
315 background color. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
316 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
317 @cindex face colors, setting |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
318 @findex set-face-foreground |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
319 @findex set-face-background |
37485
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
320 To alter the appearance of a face, use the customization buffer. |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
321 @xref{Face Customization}. You can also use X resources to specify |
41374
608e18d9fb18
Fix cross-references to "Resources".
Eli Zaretskii <eliz@gnu.org>
parents:
39316
diff
changeset
|
322 attributes of particular faces (@pxref{Resources}). Alternatively, |
37485
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
323 you can change the foreground and background colors of a specific face |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
324 with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}. |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
325 These commands prompt in the minibuffer for a face name and a color |
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
326 name, with completion, and then set that face to use the specified |
38671
07f962cbdd4e
(Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents:
38661
diff
changeset
|
327 color. Changing the colors of the @code{default} face also changes |
07f962cbdd4e
(Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents:
38661
diff
changeset
|
328 the foreground and background colors on all frames, both existing and |
07f962cbdd4e
(Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents:
38661
diff
changeset
|
329 those to be created in the future. (You can also set foreground and |
07f962cbdd4e
(Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents:
38661
diff
changeset
|
330 background colors for the current frame only; see @ref{Frame |
07f962cbdd4e
(Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents:
38661
diff
changeset
|
331 Parameters}.) |
37485
12064cf8f86f
Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents:
37229
diff
changeset
|
332 |
60424
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
333 Emacs can correctly display variable-width fonts, but Emacs commands |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
334 that calculate width and indentation do not know how to calculate |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
335 variable widths. This can sometimes lead to incorrect results when |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
336 you use variable-width fonts. In particular, indentation commands can |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
337 give inconsistent results, so we recommend you avoid variable-width |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
338 fonts for editing program source code. Filling will sometimes make |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
339 lines too long or too short. We plan to address these issues in |
6aa27b8c405e
(Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents:
60104
diff
changeset
|
340 future Emacs versions. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
341 |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
342 @node Standard Faces |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
343 @section Standard Faces |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
344 |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
345 @findex list-faces-display |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
346 To see what faces are currently defined, and what they look like, |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
347 type @kbd{M-x list-faces-display}. It's possible for a given face to |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
348 look different in different frames; this command shows the appearance |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
349 in the frame in which you type it. |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
350 |
68516 | 351 Here are the standard faces for specifying text appearance. You can |
352 apply them to specific text when you want the effects they produce. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
353 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
354 @table @code |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
355 @item default |
68516 | 356 This face is used for ordinary text that doesn't specify any face. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
357 @item bold |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
358 This face uses a bold variant of the default font, if it has one. |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
359 It's up to you to choose a default font that has a bold variant, |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
360 if you want to use one. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
361 @item italic |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
362 This face uses an italic variant of the default font, if it has one. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
363 @item bold-italic |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
364 This face uses a bold italic variant of the default font, if it has one. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
365 @item underline |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
366 This face underlines text. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
367 @item fixed-pitch |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
368 This face forces use of a particular fixed-width font. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
369 @item variable-pitch |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
370 This face forces use of a particular variable-width font. It's |
68516 | 371 reasonable to customize this face to use a different variable-width font, |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
372 if you like, but you should not make it a fixed-width font. |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
373 @item shadow |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
374 This face is used for making the text less noticeable than the surrounding |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
375 ordinary text. Usually this can be achieved by using shades of gray in |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
376 contrast with either black or white default foreground color. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
377 @end table |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
378 |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
379 Here's an incomplete list of faces used to highlight parts of the |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
380 text temporarily for specific purposes. (Many other modes define |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
381 their own faces for this purpose.) |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
382 |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
383 @table @code |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
384 @item highlight |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
385 This face is used for highlighting portions of text, in various modes. |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
386 For example, mouse-sensitive text is highlighted using this face. |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
387 @item isearch |
68516 | 388 This face is used for highlighting the current Isearch match. |
389 @item query-replace | |
390 This face is used for highlighting the current Query Replace match. | |
59429
d189a9fc6e5b
(Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents:
59259
diff
changeset
|
391 @item lazy-highlight |
d189a9fc6e5b
(Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents:
59259
diff
changeset
|
392 This face is used for lazy highlighting of Isearch and Query Replace |
d189a9fc6e5b
(Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents:
59259
diff
changeset
|
393 matches other than the current one. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
394 @item region |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
395 This face is used for displaying a selected region (when Transient Mark |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
396 mode is enabled---see below). |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
397 @item secondary-selection |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
398 This face is used for displaying a secondary X selection (@pxref{Secondary |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
399 Selection}). |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
400 @item trailing-whitespace |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
401 The face for highlighting excess spaces and tabs at the end of a line |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
402 when @code{show-trailing-whitespace} is non-@code{nil}; see |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
403 @ref{Useless Whitespace}. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
404 @item nobreak-space |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
405 The face for displaying the character ``nobreak space''. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
406 @item escape-glyph |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
407 The face for highlighting the @samp{\} or @samp{^} that indicates |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
408 a control character. It's also used when @samp{\} indicates a |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
409 nobreak space or nobreak (soft) hyphen. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
410 @end table |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
411 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
412 @cindex @code{region} face |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
413 When Transient Mark mode is enabled, the text of the region is |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
414 highlighted when the mark is active. This uses the face named |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
415 @code{region}; you can control the style of highlighting by changing the |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
416 style of this face (@pxref{Face Customization}). @xref{Transient Mark}, |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
417 for more information about Transient Mark mode and activation and |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
418 deactivation of the mark. |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
419 |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
420 These faces control the appearance of parts of the Emacs frame. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
421 They exist as faces to provide a consistent way to customize the |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
422 appearance of these parts of the frame. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
423 |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
424 @table @code |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
425 @item mode-line |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
426 @itemx modeline |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
427 This face is used for the mode line of the currently selected window, |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
428 and for menu bars when toolkit menus are not used. By default, it's |
68516 | 429 drawn with shadows for a ``raised'' effect on graphical displays, and |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
430 drawn as the inverse of the default face on non-windowed terminals. |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
431 @code{modeline} is an alias for the @code{mode-line} face, for |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
432 compatibility with old Emacs versions. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
433 @item mode-line-inactive |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
434 Like @code{mode-line}, but used for mode lines of the windows other |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
435 than the selected one (if @code{mode-line-in-non-selected-windows} is |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
436 non-@code{nil}). This face inherits from @code{mode-line}, so changes |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
437 in that face affect mode lines in all windows. |
68220
87b296ffb009
(Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents:
67937
diff
changeset
|
438 @item mode-line-highlight |
87b296ffb009
(Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents:
67937
diff
changeset
|
439 Like @code{highlight}, but used for portions of text on mode lines. |
87b296ffb009
(Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents:
67937
diff
changeset
|
440 @item mode-line-buffer-id |
87b296ffb009
(Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents:
67937
diff
changeset
|
441 This face is used for buffer identification parts in the mode line. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
442 @item header-line |
68516 | 443 Similar to @code{mode-line} for a window's header line, which appears |
444 at the top of a window just as the mode line appears at the bottom. | |
445 Most windows do not have a header line---only some special modes, such | |
446 Info mode, create one. | |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
447 @item vertical-border |
64869
bbfc1ad69918
(Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents:
64362
diff
changeset
|
448 This face is used for the vertical divider between windows. |
bbfc1ad69918
(Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents:
64362
diff
changeset
|
449 By default this face inherits from the @code{mode-line-inactive} face |
68516 | 450 on character terminals. On graphical displays the foreground color of |
64869
bbfc1ad69918
(Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents:
64362
diff
changeset
|
451 this face is used for the vertical line between windows without |
bbfc1ad69918
(Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents:
64362
diff
changeset
|
452 scrollbars. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
453 @item minibuffer-prompt |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
454 @cindex @code{minibuffer-prompt} face |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
455 @vindex minibuffer-prompt-properties |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
456 This face is used for the prompt strings displayed in the minibuffer. |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
457 By default, Emacs automatically adds this face to the value of |
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
458 @code{minibuffer-prompt-properties}, which is a list of text |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
459 properties used to display the prompt text. (This variable takes |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
460 effect when you enter the minibuffer.) |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
461 @item fringe |
65077
66cc2e8acc4b
(Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
462 @cindex @code{fringe} face |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
463 The face for the fringes to the left and right of windows on graphic |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
464 displays. (The fringes are the narrow portions of the Emacs frame |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
465 between the text area and the window's right and left borders.) |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
466 @xref{Fringes}. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
467 @item scroll-bar |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
468 This face determines the visual appearance of the scroll bar. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
469 @xref{Scroll Bars}. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
470 @item border |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
471 This face determines the color of the frame border. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
472 @item cursor |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
473 This face determines the color of the cursor. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
474 @item mouse |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
475 This face determines the color of the mouse pointer. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
476 @item tool-bar |
68516 | 477 This face determines the color of tool bar icons. @xref{Tool Bars}. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
478 @item tooltip |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
479 This face is used for tooltips. @xref{Tooltips}. |
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
480 @item menu |
64362
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
481 @cindex menu bar appearance |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
482 @cindex @code{menu} face, no effect if customized |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
483 @cindex customization of @code{menu} face |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
484 This face determines the colors and font of Emacs's menus. @xref{Menu |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
485 Bars}. Setting the font of LessTif/Motif menus is currently not |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
486 supported; attempts to set the font are ignored in this case. |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
487 Likewise, attempts to customize this face in Emacs built with GTK and |
68841
8db1976888d0
(Standard Faces): Mention Mac OS port.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68714
diff
changeset
|
488 in the MS-Windows/Mac ports are ignored by the respective GUI toolkits; |
64362
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
489 you need to use system-wide styles and options to change the |
cbb3c92e7023
(Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents:
64153
diff
changeset
|
490 appearance of the menus. |
63722
8894aea35766
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63721
diff
changeset
|
491 @end table |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
492 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
493 @node Font Lock |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
494 @section Font Lock mode |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
495 @cindex Font Lock mode |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
496 @cindex mode, Font Lock |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
497 @cindex syntax highlighting and coloring |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
498 |
46036
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
499 Font Lock mode is a minor mode, always local to a particular buffer, |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
500 which highlights (or ``fontifies'') the buffer contents according to |
46036
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
501 the syntax of the text you are editing. It can recognize comments and |
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
502 strings in most languages; in several languages, it can also recognize |
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
503 and properly highlight various other important constructs---for |
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
504 example, names of functions being defined or reserved keywords. |
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
505 Some special modes, such as Occur mode and Info mode, have completely |
dd119e0d1cea
Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents:
45955
diff
changeset
|
506 specialized ways of assigning fonts for Font Lock mode. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
507 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
508 @findex font-lock-mode |
67061
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
509 Font Lock mode is turned on by default in all modes which support it. |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
510 You can toggle font-lock for each buffer with the command @kbd{M-x |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
511 font-lock-mode}. Using a positive argument unconditionally turns Font |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
512 Lock mode on, and a negative or zero argument turns it off. |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
513 |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
514 @findex global-font-lock-mode |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
515 @vindex global-font-lock-mode |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
516 If you do not wish Font Lock mode to be turned on by default, |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
517 customize the variable @code{global-font-lock-mode} using the Customize |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
518 interface (@pxref{Easy Customization}), or use the function |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
519 @code{global-font-lock-mode} in your @file{.emacs} file, like this: |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
520 |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
521 @example |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
522 (global-font-lock-mode 0) |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
523 @end example |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
524 |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
525 @noindent |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
526 This variable, like all the variables that control Font Lock mode, |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
527 take effect whenever fontification is done; that is, potentially at |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
528 any time. |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
529 |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
530 @findex turn-on-font-lock |
68516 | 531 If you have disabled Global Font Lock mode, you can still enable Font |
532 Lock for specific major modes by adding the function | |
67061
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
533 @code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For |
4f3a6d09d436
Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents:
67042
diff
changeset
|
534 example, to enable Font Lock mode for editing C files, you can do this: |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
535 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
536 @example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
537 (add-hook 'c-mode-hook 'turn-on-font-lock) |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
538 @end example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
539 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
540 Font Lock mode uses several specifically named faces to do its job, |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
541 including @code{font-lock-string-face}, @code{font-lock-comment-face}, |
68516 | 542 and others. The easiest way to find them all is to use @kbd{M-x |
543 customize-group @key{RET} font-lock-faces @key{RET}}. You can then | |
544 use that customization buffer to customize the appearance of these | |
545 faces. @xref{Face Customization}. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
546 |
68516 | 547 You can also customize these faces using @kbd{M-x |
548 set-face-foreground} or @kbd{M-x set-face-background}. @xref{Faces}. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
549 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
550 @vindex font-lock-maximum-decoration |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
551 The variable @code{font-lock-maximum-decoration} specifies the |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
552 preferred level of fontification, for modes that provide multiple |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
553 levels. Level 1 is the least amount of fontification; some modes |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
554 support levels as high as 3. The normal default is ``as high as |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
555 possible.'' You can specify an integer, which applies to all modes, or |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
556 you can specify different numbers for particular major modes; for |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
557 example, to use level 1 for C/C++ modes, and the default level |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
558 otherwise, use this: |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
559 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
560 @example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
561 (setq font-lock-maximum-decoration |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
562 '((c-mode . 1) (c++-mode . 1))) |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
563 @end example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
564 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
565 @vindex font-lock-maximum-size |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
566 Fontification can be too slow for large buffers, so you can suppress |
68516 | 567 it for buffers above a certain size. The variable |
568 @code{font-lock-maximum-size} specifies a buffer size, beyond which | |
569 buffer fontification is suppressed. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
570 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
571 @c @w is used below to prevent a bad page-break. |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
572 @vindex font-lock-beginning-of-syntax-function |
39316
f6a4184f6285
(Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents:
39267
diff
changeset
|
573 @cindex incorrect fontification |
f6a4184f6285
(Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents:
39267
diff
changeset
|
574 @cindex parenthesis in column zero and fontification |
f6a4184f6285
(Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents:
39267
diff
changeset
|
575 @cindex brace in column zero and fontification |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
576 Comment and string fontification (or ``syntactic'' fontification) |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
577 relies on analysis of the syntactic structure of the buffer text. For |
68539
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
578 the sake of speed, some modes, including Lisp mode, rely on a special |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
579 convention: an open-parenthesis or open-brace in the leftmost column |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
580 always defines the @w{beginning} of a defun, and is thus always |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
581 outside any string or comment. (@xref{Left Margin Paren}.) If you |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
582 don't follow this convention, Font Lock mode can misfontify the text |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
583 that follows an open-parenthesis or open-brace in the leftmost column |
fb70c9e1f026
(Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents:
68517
diff
changeset
|
584 that is inside a string or comment. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
585 |
36719
ff26f01b3c8d
(Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents:
36554
diff
changeset
|
586 @cindex slow display during scrolling |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
587 The variable @code{font-lock-beginning-of-syntax-function} (always |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
588 buffer-local) specifies how Font Lock mode can find a position |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
589 guaranteed to be outside any comment or string. In modes which use the |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
590 leftmost column parenthesis convention, the default value of the variable |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
591 is @code{beginning-of-defun}---that tells Font Lock mode to use the |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
592 convention. If you set this variable to @code{nil}, Font Lock no longer |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
593 relies on the convention. This avoids incorrect results, but the price |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
594 is that, in some cases, fontification for a changed text must rescan |
36719
ff26f01b3c8d
(Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents:
36554
diff
changeset
|
595 buffer text from the beginning of the buffer. This can considerably |
ff26f01b3c8d
(Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents:
36554
diff
changeset
|
596 slow down redisplay while scrolling, particularly if you are close to |
ff26f01b3c8d
(Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents:
36554
diff
changeset
|
597 the end of a large buffer. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
598 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
599 @findex font-lock-add-keywords |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
600 Font Lock highlighting patterns already exist for many modes, but you |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
601 may want to fontify additional patterns. You can use the function |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
602 @code{font-lock-add-keywords}, to add your own highlighting patterns for |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
603 a particular mode. For example, to highlight @samp{FIXME:} words in C |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
604 comments, use this: |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
605 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
606 @example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
607 (font-lock-add-keywords |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
608 'c-mode |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
609 '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t))) |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
610 @end example |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
611 |
38923
62061f910492
(Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents:
38921
diff
changeset
|
612 @findex font-lock-remove-keywords |
62061f910492
(Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents:
38921
diff
changeset
|
613 To remove keywords from the font-lock highlighting patterns, use the |
51792
8896f8091409
(Font Lock): Add xref for format info on font-lock-remove-keywords.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
614 function @code{font-lock-remove-keywords}. @xref{Search-based |
56779
7594fd57477f
(Font Lock): Correct invalid @xref.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
615 Fontification,,, elisp, The Emacs Lisp Reference Manual}, for |
7594fd57477f
(Font Lock): Correct invalid @xref.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
616 documentation of the format of this list. |
38923
62061f910492
(Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents:
38921
diff
changeset
|
617 |
42234
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
618 @cindex just-in-time (JIT) font-lock |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
619 @cindex background syntax highlighting |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
620 Fontifying large buffers can take a long time. To avoid large |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
621 delays when a file is visited, Emacs fontifies only the visible |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
622 portion of a buffer. As you scroll through the buffer, each portion |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
623 that becomes visible is fontified as soon as it is displayed. The |
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
624 parts of the buffer that are not displayed are fontified |
60857
87594637fb45
(Font Lock): Put commas inside closequotes.
Richard M. Stallman <rms@gnu.org>
parents:
60424
diff
changeset
|
625 ``stealthily,'' in the background, i.e.@: when Emacs is idle. You can |
59796
48aa868cde0b
Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents:
59429
diff
changeset
|
626 control this background fontification, also called @dfn{Just-In-Time} |
48aa868cde0b
Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents:
59429
diff
changeset
|
627 (or @dfn{JIT}) Lock, by customizing variables in the customization |
48aa868cde0b
Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents:
59429
diff
changeset
|
628 group @samp{jit-lock}. @xref{Specific Customization}. |
42234
64fa0eed5865
(Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents:
41374
diff
changeset
|
629 |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
630 @node Highlight Interactively |
68516 | 631 @section Interactive Highlighting |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
632 @cindex highlighting by matching |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
633 @cindex interactive highlighting |
68516 | 634 @cindex Highlight Changes mode |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
635 |
68516 | 636 @findex highlight-changes-mode |
637 Use @kbd{M-x highlight-changes-mode} to enable (or disable) | |
638 Highlight Changes mode, a minor mode that uses faces (colors, | |
639 typically) to indicate which parts of the buffer were changed most | |
640 recently. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
641 |
68516 | 642 @cindex Hi Lock mode |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
643 @findex hi-lock-mode |
68516 | 644 Hi Lock mode is another minor mode, which highlights text that |
645 matches your specified regular expressions. For example, you might | |
646 wish to see all the references to a certain variable in a program | |
647 source file, highlight certain parts in a voluminous output of some | |
648 program, or make certain names stand out in an article. Use the | |
649 @kbd{M-x hi-lock-mode} command to enable (or disable) Hi Lock mode. | |
650 To enable Hi Lock mode for all buffers, use @kbd{M-x | |
651 global-hi-lock-mode} or place @code{(global-hi-lock-mode 1)} in your | |
652 @file{.emacs} file. | |
67476
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
653 |
68516 | 654 Hi Lock mode works like Font Lock mode (@pxref{Font Lock}), except |
655 that you specify explicitly the regular expressions to highlight. You | |
656 control them with these commands: | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
657 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
658 @table @kbd |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
659 @item C-x w h @var{regexp} @key{RET} @var{face} @key{RET} |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
660 @kindex C-x w h |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
661 @findex highlight-regexp |
67476
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
662 Highlight text that matches @var{regexp} using face @var{face} |
68516 | 663 (@code{highlight-regexp}). The highlighting will remain as long as |
664 the buffer is loaded. For example, to highlight all occurrences of | |
665 the word ``whim'' using the default face (a yellow background) | |
666 @kbd{C-x w h whim @key{RET} @key{RET}}. Any face can be used for | |
667 highlighting, Hi Lock provides several of its own and these are | |
668 pre-loaded into a history list. While being prompted for a face use | |
669 @kbd{M-p} and @kbd{M-n} to cycle through them. | |
670 | |
671 You can use this command multiple times, specifying various regular | |
672 expressions to highlight in different ways. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
673 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
674 @item C-x w r @var{regexp} @key{RET} |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
675 @kindex C-x w r |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
676 @findex unhighlight-regexp |
67771
42ea65c4e348
(Highlight Interactively): Use double space to separate sentences.
Juri Linkov <juri@jurta.org>
parents:
67476
diff
changeset
|
677 Unhighlight @var{regexp} (@code{unhighlight-regexp}). |
68516 | 678 |
679 If you invoke this from the menu, you select the expression to | |
680 unhighlight from a list. If you invoke this from the keyboard, you | |
681 use the minibuffer. It will show the most recently added regular | |
682 expression; use @kbd{M-p} to show the next older expression and | |
683 @kbd{M-n} to select the next newer expression. (You can also type the | |
684 expression by hand, with completion.) When the expression you want to | |
685 unhighlight appears in the minibuffer, press @kbd{@key{RET}} to exit | |
686 the minibuffer and unhighlight it. | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
687 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
688 @item C-x w l @var{regexp} @key{RET} @var{face} @key{RET} |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
689 @kindex C-x w l |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
690 @findex highlight-lines-matching-regexp |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
691 @cindex lines, highlighting |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
692 @cindex highlighting lines of text |
38115
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
693 Highlight entire lines containing a match for @var{regexp}, using face |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
694 @var{face} (@code{highlight-lines-matching-regexp}). |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
695 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
696 @item C-x w b |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
697 @kindex C-x w b |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
698 @findex hi-lock-write-interactive-patterns |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
699 Insert all the current highlighting regexp/face pairs into the buffer |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
700 at point, with comment delimiters to prevent them from changing your |
68516 | 701 program. (This key binding runs the |
702 @code{hi-lock-write-interactive-patterns} command.) | |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
703 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
704 These patterns will be read the next time you visit the file while |
67476
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
705 Hi Lock mode is enabled, or whenever you use the @kbd{M-x |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
706 hi-lock-find-patterns} command. |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
707 |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
708 @item C-x w i |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
709 @kindex C-x w i |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
710 @findex hi-lock-find-patterns |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
711 @vindex hi-lock-exclude-modes |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
712 Re-read regexp/face pairs in the current buffer |
67771
42ea65c4e348
(Highlight Interactively): Use double space to separate sentences.
Juri Linkov <juri@jurta.org>
parents:
67476
diff
changeset
|
713 (@code{hi-lock-write-interactive-patterns}). Users familiar with Font |
67476
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
714 Lock keywords might interactively enter patterns |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
715 (@code{highlight-regexp}), write them into the file |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
716 (@code{hi-lock-write-interactive-patterns}), edit them, perhaps |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
717 including different faces for different parenthesized parts of the |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
718 match, and finally use this command |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
719 (@code{hi-lock-write-interactive-patterns}) to have Hi Lock highlight |
9b11091298b7
(Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents:
67462
diff
changeset
|
720 them. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
721 |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
722 This command does nothing if the current major mode's symbol is a member |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
723 of the list @code{hi-lock-exclude-modes}. |
36554
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
724 @end table |
9904afd52408
(Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
725 |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
726 @node Fringes |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
727 @section Window Fringes |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
728 @cindex fringes |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
729 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
730 On a graphical display, each Emacs window normally has narrow |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
731 @dfn{fringes} on the left and right edges. The fringes display |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
732 indications about the text in the window. |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
733 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
734 The most common use of the fringes is to indicate a continuation |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
735 line, when one line of text is split into multiple lines on the |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
736 screen. The left fringe shows a curving arrow for each screen line |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
737 except the first, indicating that ``this is not the real beginning.'' |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
738 The right fringe shows a curving arrow for each screen line except the |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
739 last, indicating that ``this is not the real end.'' |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
740 |
45889
0d2a977d3d32
(Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents:
45883
diff
changeset
|
741 The fringes indicate line truncation with short horizontal arrows |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
742 meaning ``there's more text on this line which is scrolled |
45889
0d2a977d3d32
(Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents:
45883
diff
changeset
|
743 horizontally out of view;'' clicking the mouse on one of the arrows |
0d2a977d3d32
(Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents:
45883
diff
changeset
|
744 scrolls the display horizontally in the direction of the arrow. The |
62417
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
745 fringes can also indicate other things, such as empty lines, or where a |
45889
0d2a977d3d32
(Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents:
45883
diff
changeset
|
746 program you are debugging is executing (@pxref{Debuggers}). |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
747 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
748 @findex set-fringe-style |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
749 @findex fringe-mode |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
750 You can enable and disable the fringes for all frames using |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
751 @kbd{M-x fringe-mode}. To enable and disable the fringes |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
752 for the selected frame, use @kbd{M-x set-fringe-style}. |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
753 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
754 @node Useless Whitespace |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
755 @section Useless Whitespace |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
756 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
757 @cindex trailing whitespace |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
758 @cindex whitespace, trailing |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
759 @vindex show-trailing-whitespace |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
760 It is easy to leave unnecessary spaces at the end of a line, or |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
761 empty lines at the end of a file, without realizing it. In most |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
762 cases, this @dfn{trailing whitespace} has no effect, but there are |
68516 | 763 special circumstances where it matters. It can also be a nuisance |
764 that the line has ``changed,'' when the change is just spaces added or | |
765 removed at the end. | |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
766 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
767 You can make trailing whitespace at the end of a line visible on the |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
768 screen by setting the buffer-local variable |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
769 @code{show-trailing-whitespace} to @code{t}. Then Emacs displays |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
770 trailing whitespace in the face @code{trailing-whitespace}. |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
771 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
772 This feature does not apply when point is at the end of the line |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
773 containing the whitespace. Strictly speaking, that is ``trailing |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
774 whitespace'' nonetheless, but displaying it specially in that case |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
775 looks ugly while you are typing in new text. In this special case, |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
776 the location of point is enough to show you that the spaces are |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
777 present. |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
778 |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
779 @findex delete-trailing-whitespace |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
780 To delete all trailing whitespace within the current buffer's |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
781 accessible portion (@pxref{Narrowing}), type @kbd{M-x |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
782 delete-trailing-whitespace @key{RET}}. (This command does not remove |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
783 the form-feed characters.) |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
784 |
61411
432f333b0501
(Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents:
60988
diff
changeset
|
785 @vindex indicate-empty-lines |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
786 @vindex default-indicate-empty-lines |
48534
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
787 @cindex unused lines |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
788 @cindex fringes, and unused line indication |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
789 Emacs can indicate unused lines at the end of the window with a |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
790 small image in the left fringe (@pxref{Fringes}). The image appears |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
791 for window lines that do not correspond to any buffer text. Blank |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
792 lines at the end of the buffer then stand out because they do not have |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
793 this image in the fringe. |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
794 |
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
795 To enable this feature, set the buffer-local variable |
61411
432f333b0501
(Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents:
60988
diff
changeset
|
796 @code{indicate-empty-lines} to a non-@code{nil} value. The default |
48534
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
797 value of this variable is controlled by the variable |
61411
432f333b0501
(Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents:
60988
diff
changeset
|
798 @code{default-indicate-empty-lines}; by setting that variable, you |
48534
4128ae2ce141
indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents:
47071
diff
changeset
|
799 can enable or disable this feature for all new buffers. (This feature |
68516 | 800 currently doesn't work on text-only terminals.) |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
801 |
25829 | 802 @node Selective Display |
803 @section Selective Display | |
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36260
diff
changeset
|
804 @cindex selective display |
25829 | 805 @findex set-selective-display |
806 @kindex C-x $ | |
807 | |
808 Emacs has the ability to hide lines indented more than a certain number | |
809 of columns (you specify how many columns). You can use this to get an | |
810 overview of a part of a program. | |
811 | |
62417
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
812 To hide lines in the current buffer, type @kbd{C-x $} |
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
813 (@code{set-selective-display}) with a numeric argument @var{n}. Then |
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
814 lines with at least @var{n} columns of indentation disappear from the |
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
815 screen. The only indication of their presence is that three dots |
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
816 (@samp{@dots{}}) appear at the end of each visible line that is |
6d49a2df78a7
Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
61411
diff
changeset
|
817 followed by one or more hidden ones. |
25829 | 818 |
819 The commands @kbd{C-n} and @kbd{C-p} move across the hidden lines as | |
820 if they were not there. | |
821 | |
822 The hidden lines are still present in the buffer, and most editing | |
823 commands see them as usual, so you may find point in the middle of the | |
824 hidden text. When this happens, the cursor appears at the end of the | |
825 previous line, after the three dots. If point is at the end of the | |
826 visible line, before the newline that ends it, the cursor appears before | |
827 the three dots. | |
828 | |
829 To make all lines visible again, type @kbd{C-x $} with no argument. | |
830 | |
831 @vindex selective-display-ellipses | |
832 If you set the variable @code{selective-display-ellipses} to | |
833 @code{nil}, the three dots do not appear at the end of a line that | |
834 precedes hidden lines. Then there is no visible indication of the | |
835 hidden lines. This variable becomes local automatically when set. | |
836 | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
837 See also @ref{Outline Mode} for another way to hide part of |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
838 the text in a buffer. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
839 |
25829 | 840 @node Optional Mode Line |
841 @section Optional Mode Line Features | |
842 | |
52461
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
843 @cindex buffer size display |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
844 @cindex display of buffer size |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
845 @findex size-indication-mode |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
846 The buffer percentage @var{pos} indicates the percentage of the |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
847 buffer above the top of the window. You can additionally display the |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
848 size of the buffer by typing @kbd{M-x size-indication-mode} to turn on |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
849 Size Indication mode. The size will be displayed immediately |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
850 following the buffer percentage like this: |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
851 |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
852 @example |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
853 @var{POS} of @var{SIZE} |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
854 @end example |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
855 |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
856 @noindent |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
857 Here @var{SIZE} is the human readable representation of the number of |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
858 characters in the buffer, which means that @samp{k} for 10^3, @samp{M} |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
859 for 10^6, @samp{G} for 10^9, etc., are used to abbreviate. |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
860 |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
861 @cindex narrowing, and buffer size display |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
862 If you have narrowed the buffer (@pxref{Narrowing}), the size of the |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
863 accessible part of the buffer is shown. |
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
864 |
36150
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
865 @cindex line number display |
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
866 @cindex display of line number |
25829 | 867 @findex line-number-mode |
868 The current line number of point appears in the mode line when Line | |
869 Number mode is enabled. Use the command @kbd{M-x line-number-mode} to | |
870 turn this mode on and off; normally it is on. The line number appears | |
52461
030d7903be24
(Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
871 after the buffer percentage @var{pos}, with the letter @samp{L} to |
25829 | 872 indicate what it is. @xref{Minor Modes}, for more information about |
873 minor modes and about how to use this command. | |
874 | |
38121
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
875 @cindex narrowing, and line number display |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
876 If you have narrowed the buffer (@pxref{Narrowing}), the displayed |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
877 line number is relative to the accessible portion of the buffer. |
68516 | 878 Thus, it isn't suitable as an argument to @code{goto-line}. (Use |
879 @code{what-line} command to see the line number relative to the whole | |
880 file.) | |
38121
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
881 |
25829 | 882 @vindex line-number-display-limit |
883 If the buffer is very large (larger than the value of | |
884 @code{line-number-display-limit}), then the line number doesn't appear. | |
885 Emacs doesn't compute the line number when the buffer is large, because | |
38121
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
886 that would be too slow. Set it to @code{nil} to remove the limit. |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
887 |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
888 @vindex line-number-display-limit-width |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
889 Line-number computation can also be slow if the lines in the buffer |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
890 are too long. For this reason, Emacs normally doesn't display line |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
891 numbers if the average width, in characters, of lines near point is |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
892 larger than the value of the variable |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
893 @code{line-number-display-limit-width}. The default value is 200 |
82d39521a482
(Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents:
38115
diff
changeset
|
894 characters. |
25829 | 895 |
896 @cindex Column Number mode | |
897 @cindex mode, Column Number | |
898 @findex column-number-mode | |
899 You can also display the current column number by turning on Column | |
900 Number mode. It displays the current column number preceded by the | |
901 letter @samp{C}. Type @kbd{M-x column-number-mode} to toggle this mode. | |
902 | |
903 @findex display-time | |
904 @cindex time (on mode line) | |
905 Emacs can optionally display the time and system load in all mode | |
30870 | 906 lines. To enable this feature, type @kbd{M-x display-time} or customize |
907 the option @code{display-time-mode}. The information added to the mode | |
908 line usually appears after the buffer name, before the mode names and | |
909 their parentheses. It looks like this: | |
25829 | 910 |
911 @example | |
912 @var{hh}:@var{mm}pm @var{l.ll} | |
913 @end example | |
914 | |
915 @noindent | |
916 @vindex display-time-24hr-format | |
917 Here @var{hh} and @var{mm} are the hour and minute, followed always by | |
918 @samp{am} or @samp{pm}. @var{l.ll} is the average number of running | |
919 processes in the whole system recently. (Some fields may be missing if | |
920 your operating system cannot support them.) If you prefer time display | |
921 in 24-hour format, set the variable @code{display-time-24hr-format} | |
922 to @code{t}. | |
923 | |
924 @cindex mail (on mode line) | |
28800 | 925 @vindex display-time-use-mail-icon |
926 @vindex display-time-mail-face | |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
927 @vindex display-time-mail-file |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
928 @vindex display-time-mail-directory |
25829 | 929 The word @samp{Mail} appears after the load level if there is mail |
28800 | 930 for you that you have not read yet. On a graphical display you can use |
931 an icon instead of @samp{Mail} by customizing | |
932 @code{display-time-use-mail-icon}; this may save some space on the mode | |
933 line. You can customize @code{display-time-mail-face} to make the mail | |
45877
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
934 indicator prominent. Use @code{display-time-mail-file} to specify |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
935 the mail file to check, or set @code{display-time-mail-directory} |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
936 to specify the directory to check for incoming mail (any nonempty regular |
74f67ed375f0
Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents:
43664
diff
changeset
|
937 file in the directory is considered as ``newly arrived mail''). |
25829 | 938 |
39267 | 939 @cindex mode line, 3D appearance |
35433
1777865bdb98
(Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents:
34749
diff
changeset
|
940 @cindex attributes of mode line, changing |
1777865bdb98
(Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents:
34749
diff
changeset
|
941 @cindex non-integral number of lines in a window |
38115
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
942 By default, the mode line is drawn on graphics displays with |
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
943 3D-style highlighting, like that of a button when it is not being |
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
944 pressed. If you don't like this effect, you can disable the 3D |
c75a19b1930f
Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents:
38048
diff
changeset
|
945 highlighting of the mode line, by customizing the attributes of the |
68516 | 946 @code{mode-line} face. @xref{Face Customization}. |
35433
1777865bdb98
(Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents:
34749
diff
changeset
|
947 |
43260
59e700c2760c
(Faces): Document the mode-line-inactive face.
Eli Zaretskii <eliz@gnu.org>
parents:
43101
diff
changeset
|
948 @cindex non-selected windows, mode line appearance |
43289 | 949 By default, the mode line of nonselected windows is displayed in a |
43283
1124d2e7429a
mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents:
43260
diff
changeset
|
950 different face, called @code{mode-line-inactive}. Only the selected |
43289 | 951 window is displayed in the @code{mode-line} face. This helps show |
952 which window is selected. When the minibuffer is selected, since | |
953 it has no mode line, the window from which you activated the minibuffer | |
954 has its mode line displayed using @code{mode-line}; as a result, | |
955 ordinary entry to the minibuffer does not change any mode lines. | |
956 | |
957 @vindex mode-line-in-non-selected-windows | |
958 You can disable use of @code{mode-line-inactive} by setting variable | |
43283
1124d2e7429a
mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents:
43260
diff
changeset
|
959 @code{mode-line-in-non-selected-windows} to @code{nil}; then all mode |
1124d2e7429a
mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents:
43260
diff
changeset
|
960 lines are displayed in the @code{mode-line} face. |
43260
59e700c2760c
(Faces): Document the mode-line-inactive face.
Eli Zaretskii <eliz@gnu.org>
parents:
43101
diff
changeset
|
961 |
68455
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
962 @vindex eol-mnemonic-unix |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
963 @vindex eol-mnemonic-dos |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
964 @vindex eol-mnemonic-mac |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
965 @vindex eol-mnemonic-undecided |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
966 You can customize the mode line display for each of the end-of-line |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
967 formats by setting each of the variables @code{eol-mnemonic-unix}, |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
968 @code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and |
68516 | 969 @code{eol-mnemonic-undecided} to the strings you prefer. |
68455
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
970 |
25829 | 971 @node Text Display |
972 @section How Text Is Displayed | |
973 @cindex characters (in text) | |
974 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52461
diff
changeset
|
975 @acronym{ASCII} printing characters (octal codes 040 through 0176) in Emacs |
38048
bd45e6c57fba
Proofreading fixes from Danny Colascione <qtmstr@optonline.net>.
Eli Zaretskii <eliz@gnu.org>
parents:
37485
diff
changeset
|
976 buffers are displayed with their graphics, as are non-ASCII multibyte |
25829 | 977 printing characters (octal codes above 0400). |
978 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52461
diff
changeset
|
979 Some @acronym{ASCII} control characters are displayed in special ways. The |
25829 | 980 newline character (octal code 012) is displayed by starting a new line. |
981 The tab character (octal code 011) is displayed by moving to the next | |
982 tab stop column (normally every 8 columns). | |
983 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52461
diff
changeset
|
984 Other @acronym{ASCII} control characters are normally displayed as a caret |
25829 | 985 (@samp{^}) followed by the non-control version of the character; thus, |
68516 | 986 control-A is displayed as @samp{^A}. The caret appears in face |
987 @code{escape-glyph}. | |
988 | |
989 Non-@acronym{ASCII} characters 0200 through 0237 (octal) are | |
990 displayed with octal escape sequences; thus, character code 0230 | |
991 (octal) is displayed as @samp{\230}. The backslash appears in face | |
992 @code{escape-glyph}. | |
25829 | 993 |
68516 | 994 @vindex ctl-arrow |
995 If the variable @code{ctl-arrow} is @code{nil}, control characters in | |
996 the buffer are displayed with octal escape sequences, except for newline | |
997 and tab. Altering the value of @code{ctl-arrow} makes it local to the | |
998 current buffer; until that time, the default value is in effect. The | |
999 default is initially @code{t}. | |
1000 | |
1001 The display of character codes 0240 through 0377 (octal) may be | |
1002 either as escape sequences or as graphics. They do not normally occur | |
1003 in multibyte buffers, but if they do, they are displayed as Latin-1 | |
1004 graphics. In unibyte mode, if you enable European display they are | |
1005 displayed using their graphics (assuming your terminal supports them), | |
68714
55bc2caea3d5
(Text Display): Update xrefs.
Luc Teirlinck <teirllm@auburn.edu>
parents:
68639
diff
changeset
|
1006 otherwise as escape sequences. @xref{Unibyte Mode}. |
25829 | 1007 |
63721
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1008 @vindex nobreak-char-display |
63753
21f1853e2386
(Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents:
63722
diff
changeset
|
1009 @cindex no-break space, display |
21f1853e2386
(Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents:
63722
diff
changeset
|
1010 @cindex no-break hyphen, display |
21f1853e2386
(Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents:
63722
diff
changeset
|
1011 @cindex soft hyphen, display |
63721
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1012 Some character sets define ``no-break'' versions of the space and |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1013 hyphen characters, which are used where a line should not be broken. |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1014 Emacs normally displays these characters with special faces |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1015 (respectively, @code{nobreak-space} and @code{escape-glyph}) to |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1016 distinguish them from ordinary spaces and hyphens. You can turn off |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1017 this feature by setting the variable @code{nobreak-char-display} to |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1018 @code{nil}. If you set the variable to any other value, that means to |
9bcd6144b097
(Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents:
63649
diff
changeset
|
1019 prefix these characters with an escape character. |
60950
c7ee76ed1a51
(Text Display): Mention non-breaking spaces.
Richard M. Stallman <rms@gnu.org>
parents:
60857
diff
changeset
|
1020 |
68516 | 1021 @vindex tab-width |
1022 @vindex default-tab-width | |
1023 Normally, a tab character in the buffer is displayed as whitespace which | |
1024 extends to the next display tab stop position, and display tab stops come | |
1025 at intervals equal to eight spaces. The number of spaces per tab is | |
1026 controlled by the variable @code{tab-width}, which is made local by | |
1027 changing it. Note that how the tab character | |
1028 in the buffer is displayed has nothing to do with the definition of | |
1029 @key{TAB} as a command. The variable @code{tab-width} must have an | |
1030 integer value between 1 and 1000, inclusive. The variable | |
1031 @code{default-tab-width} controls the default value of this variable | |
1032 for buffers where you have not set it locally. | |
1033 | |
1034 You can customize the way any particular character code is displayed | |
1035 by means of a display table. @xref{Display Tables,, Display Tables, | |
1036 elisp, The Emacs Lisp Reference Manual}. | |
1037 | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1038 @node Cursor Display |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1039 @section Displaying the Cursor |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1040 |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1041 @findex blink-cursor-mode |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1042 @vindex blink-cursor-alist |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1043 @cindex cursor, locating visually |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1044 @cindex cursor, blinking |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1045 You can customize the cursor's color, and whether it blinks, using |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1046 the @code{cursor} Custom group (@pxref{Easy Customization}). On |
70357
03e273042b0d
Say "graphical displays".
Richard M. Stallman <rms@gnu.org>
parents:
68841
diff
changeset
|
1047 a graphical display, the command @kbd{M-x blink-cursor-mode} enables |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1048 or disables the blinking of the cursor. (On text terminals, the |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1049 terminal itself blinks the cursor, and Emacs has no control over it.) |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1050 You can control how the cursor appears when it blinks off by setting |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1051 the variable @code{blink-cursor-alist}. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1052 |
67937
cee5814efd02
(Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
67771
diff
changeset
|
1053 @vindex visible-cursor |
cee5814efd02
(Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
67771
diff
changeset
|
1054 Some text terminals offer two different cursors: the normal cursor |
cee5814efd02
(Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
67771
diff
changeset
|
1055 and the very visible cursor, where the latter may be e.g. bigger or |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1056 blinking. By default Emacs uses the very visible cursor, and switches |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1057 to it when you start or resume Emacs. If the variable |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1058 @code{visible-cursor} is @code{nil} when Emacs starts or resumes, it |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1059 doesn't switch, so it uses the normal cursor. |
67937
cee5814efd02
(Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
67771
diff
changeset
|
1060 |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1061 @cindex cursor in non-selected windows |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1062 @vindex cursor-in-non-selected-windows |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1063 Normally, the cursor appears in non-selected windows in the ``off'' |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1064 state, with the same appearance as when the blinking cursor blinks |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1065 ``off''. For a box cursor, this is a hollow box; for a bar cursor, |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1066 this is a thinner bar. To turn off cursors in non-selected windows, |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1067 customize the variable @code{cursor-in-non-selected-windows} and assign |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1068 it a @code{nil} value. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1069 |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1070 @vindex x-stretch-cursor |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1071 @cindex wide block cursor |
70357
03e273042b0d
Say "graphical displays".
Richard M. Stallman <rms@gnu.org>
parents:
68841
diff
changeset
|
1072 On graphical displays, Emacs can optionally draw the block cursor |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1073 as wide as the character under the cursor---for example, if the cursor |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1074 is on a tab character, it would cover the full width occupied by that |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1075 tab character. To enable this feature, set the variable |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1076 @code{x-stretch-cursor} to a non-@code{nil} value. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1077 |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1078 @findex hl-line-mode |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1079 @findex global-hl-line-mode |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1080 @cindex highlight current line |
68516 | 1081 To make the cursor even more visible, you can use HL Line mode, a |
1082 minor mode that highlights the line containing point. Use @kbd{M-x | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1083 hl-line-mode} to enable or disable it in the current buffer. @kbd{M-x |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1084 global-hl-line-mode} enables or disables the same mode globally. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1085 |
36150
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
1086 @node Display Custom |
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
1087 @section Customization of Display |
25829 | 1088 |
68455
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
1089 This section describes variables (@pxref{Variables}) that you can |
68516 | 1090 change to customize how Emacs displays. Beginning users can skip |
68455
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
1091 it. |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
1092 @c the reason for that pxref is because an xref early in the |
2ccd995850e5
(Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents:
68220
diff
changeset
|
1093 @c ``echo area'' section leads here. |
25829 | 1094 |
1095 @vindex inverse-video | |
1096 If the variable @code{inverse-video} is non-@code{nil}, Emacs attempts | |
1097 to invert all the lines of the display from what they normally are. | |
1098 | |
1099 @vindex visible-bell | |
1100 If the variable @code{visible-bell} is non-@code{nil}, Emacs attempts | |
1101 to make the whole screen blink when it would normally make an audible bell | |
1102 sound. This variable has no effect if your terminal does not have a way | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1103 to make the screen blink. |
25829 | 1104 |
1105 @vindex echo-keystrokes | |
1106 The variable @code{echo-keystrokes} controls the echoing of multi-character | |
1107 keys; its value is the number of seconds of pause required to cause echoing | |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1108 to start, or zero, meaning don't echo at all. The value takes effect when |
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1109 there is someting to echo. @xref{Echo Area}. |
25829 | 1110 |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1111 @cindex truncation |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1112 @cindex line truncation, and fringes |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1113 As an alternative to continuation, Emacs can display long lines by |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1114 @dfn{truncation}. This means that all the characters that do not fit |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1115 in the width of the screen or window do not appear at all. On |
68516 | 1116 graphical displays, a small straight arrow in the fringe indicates |
1117 truncation at either end of the line. On text-only terminals, @samp{$} | |
60104
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1118 appears in the first column when there is text truncated to the left, |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1119 and in the last column when there is text truncated to the right. |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1120 |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1121 @vindex truncate-lines |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1122 @findex toggle-truncate-lines |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1123 Horizontal scrolling automatically causes line truncation |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1124 (@pxref{Horizontal Scrolling}). You can explicitly enable line |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1125 truncation for a particular buffer with the command @kbd{M-x |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1126 toggle-truncate-lines}. This works by locally changing the variable |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1127 @code{truncate-lines}. If that variable is non-@code{nil}, long lines |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1128 are truncated; if it is @code{nil}, they are continued onto multiple |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1129 screen lines. Setting the variable @code{truncate-lines} in any way |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1130 makes it local to the current buffer; until that time, the default |
8116a5e9f2a1
(Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents:
59796
diff
changeset
|
1131 value is in effect. The default value is normally @code{nil}. |
25829 | 1132 |
1133 @c @vindex truncate-partial-width-windows @c Idx entry is in Split Windows. | |
1134 If the variable @code{truncate-partial-width-windows} is | |
1135 non-@code{nil}, it forces truncation rather than continuation in any | |
1136 window less than the full width of the screen or frame, regardless of | |
1137 the value of @code{truncate-lines}. For information about side-by-side | |
1138 windows, see @ref{Split Window}. See also @ref{Display,, Display, | |
1139 elisp, The Emacs Lisp Reference Manual}. | |
1140 | |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1141 @vindex overflow-newline-into-fringe |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1142 If the variable @code{overflow-newline-into-fringe} is |
68516 | 1143 non-@code{nil} on a graphical display, then Emacs does not continue or |
1144 truncate a line which is exactly as wide as the window. Instead, the | |
1145 newline overflows into the right fringe, and the cursor appears in the | |
1146 fringe when positioned on that newline. | |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1147 |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1148 @vindex indicate-buffer-boundaries |
68516 | 1149 On a graphical display, Emacs can indicate the buffer boundaries in |
70483 | 1150 the fringes. It indicates the first line and the last line with |
68516 | 1151 angle images in the fringes. This can be combined with up and down |
1152 arrow images which say whether it is possible to scroll the window up | |
1153 and down. | |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1154 |
57251
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1155 The buffer-local variable @code{indicate-buffer-boundaries} controls |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1156 how the buffer boundaries and window scrolling is indicated in the |
68516 | 1157 fringes. If the value is @code{left} or @code{right}, both angle and |
1158 arrow bitmaps are displayed in the left or right fringe, respectively. | |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1159 |
57251
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1160 If value is an alist, each element @code{(@var{indicator} . |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1161 @var{position})} specifies the position of one of the indicators. |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1162 The @var{indicator} must be one of @code{top}, @code{bottom}, |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1163 @code{up}, @code{down}, or @code{t} which specifies the default |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1164 position for the indicators not present in the alist. |
62571
e2ddd55fafc1
(Display Custom): Correct typo.
Luc Teirlinck <teirllm@auburn.edu>
parents:
62417
diff
changeset
|
1165 The @var{position} is one of @code{left}, @code{right}, or @code{nil} |
57251
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1166 which specifies not to show this indicator. |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1167 |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1168 For example, @code{((top . left) (t . right))} places the top angle |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1169 bitmap in left fringe, the bottom angle bitmap in right fringe, and |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1170 both arrow bitmaps in right fringe. To show just the angle bitmaps in |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1171 the left fringe, but no arrow bitmaps, use @code{((top . left) |
f4a2067d260e
(Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents:
57200
diff
changeset
|
1172 (bottom . left))}. |
57194
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1173 |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1174 @vindex default-indicate-buffer-boundaries |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1175 The value of the variable @code{default-indicate-buffer-boundaries} |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1176 is the default value for @code{indicate-buffer-boundaries} in buffers |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1177 that do not override it. |
4871edb9e1d3
(Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents:
56779
diff
changeset
|
1178 |
25829 | 1179 @vindex baud-rate |
68516 | 1180 The variable @anchor{baud-rate}@code{baud-rate} holds the output |
1181 speed of the terminal, as far as Emacs knows. Setting this variable | |
1182 does not change the speed of actual data transmission, but the value | |
1183 is used for calculations. On text-only terminals, it affects padding, | |
1184 and decisions about whether to scroll part of the screen or redraw it | |
1185 instead. It also affects the behavior of incremental search. | |
32624
cc6228b81571
(Display Vars): Fix description of the role of
Gerd Moellmann <gerd@gnu.org>
parents:
31188
diff
changeset
|
1186 |
68516 | 1187 On graphical displays, @code{baud-rate} is only used to determine |
1188 how frequently to look for pending input during display updating. A | |
36150
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
1189 higher value of @code{baud-rate} means that check for pending input |
46e59561af4c
Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
35433
diff
changeset
|
1190 will be done less frequently. |
25829 | 1191 |
36260 | 1192 @cindex hourglass pointer display |
1193 @vindex hourglass-delay | |
68516 | 1194 On graphical display, Emacs can optionally display the mouse pointer |
36156
3a9de976b35c
Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents:
36151
diff
changeset
|
1195 in a special shape to say that Emacs is busy. To turn this feature on |
3a9de976b35c
Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents:
36151
diff
changeset
|
1196 or off, customize the group @code{cursor}. You can also control the |
3a9de976b35c
Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents:
36151
diff
changeset
|
1197 amount of time Emacs must remain busy before the busy indicator is |
36260 | 1198 displayed, by setting the variable @code{hourglass-delay}. |
36156
3a9de976b35c
Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents:
36151
diff
changeset
|
1199 |
39162
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1200 @findex tty-suppress-bold-inverse-default-colors |
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1201 On some text-only terminals, bold face and inverse video together |
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1202 result in text that is hard to read. Call the function |
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1203 @code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil} |
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1204 argument to suppress the effect of bold-face in this case. |
af44a4698df4
Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents:
38939
diff
changeset
|
1205 |
68516 | 1206 @vindex no-redraw-on-reenter |
1207 On a text-only terminal, when you reenter Emacs after suspending, Emacs | |
1208 normally clears the screen and redraws the entire display. On some | |
1209 terminals with more than one page of memory, it is possible to arrange | |
1210 the termcap entry so that the @samp{ti} and @samp{te} strings (output | |
1211 to the terminal when Emacs is entered and exited, respectively) switch | |
1212 between pages of memory so as to use one page for Emacs and another | |
71581
e0b0c80d7e1c
(Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents:
70483
diff
changeset
|
1213 page for other output. On such terminals, you might want to set the variable |
68516 | 1214 @code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to |
1215 assume, when resumed, that the screen page it is using still contains | |
1216 what Emacs last wrote there. | |
1217 | |
52401 | 1218 @ignore |
1219 arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4 | |
1220 @end ignore |