Mercurial > hg > xemacs-beta
comparison man/new-users-guide/modes.texi @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | c9fe270a4101 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 @comment node-name, next, previous, up | |
2 @node Modes, Files, Help, Top | |
3 @chapter Major and Minor Modes | |
4 @cindex modes | |
5 | |
6 XEmacs is @dfn{language sensitive}. It has several @dfn{major} and | |
7 @dfn{minor} modes. The major modes customize Emacs to edit text of a | |
8 particular sort. There are major modes for C, Lisp, Emacs Lisp, LaTeX, | |
9 English etc. Within each major mode, certain functions and keys are | |
10 redefined to "suit" that particular sort of text. The minor modes | |
11 provide certain features which can be turned off or on at any | |
12 time. Emacs can only be in one major mode at any time, but it can turn | |
13 on several minor modes at the same time. After you have selected any | |
14 major or minor mode, you can select @b{Describe Mode} from the @b{Help} | |
15 menu and you will get documentation about those modes. | |
16 | |
17 @comment node-name, next, previous, up | |
18 @menu | |
19 * Major Modes:: Choosing Major Modes | |
20 * Minor Modes:: Auto-Fill, Abbrev and other minor modes | |
21 @end menu | |
22 | |
23 @node Major Modes, Minor Modes, Modes, Modes | |
24 @section Major Modes | |
25 @cindex major modes | |
26 | |
27 Emacs has several major modes which customize Emacs to edit text of | |
28 various sorts. You can have only one major mode at any time. Within each | |
29 major mode, Emacs redefines certain functions (like cursor movement, | |
30 indentation and text killing) to suit the needs of the text being | |
31 edited. When you are editing a specific type of text you should switch | |
32 to the appropriate mode. If you are working with C code, you should | |
33 switch to C mode; if you are working with Lisp code, then switch to lisp | |
34 mode and if you are working with English text switch to Text mode. | |
35 | |
36 When you open a file to work on, Emacs usually selects the | |
37 appropriate mode. For example, if you open a file called @file{guide.c} | |
38 then Emacs will select the C mode because of the ".c" extension of the | |
39 file. To explicitly select a mode type the following command: | |
40 | |
41 @example | |
42 ;;; selects lisp mode | |
43 M-x lisp-mode | |
44 | |
45 ;;; selects C mode | |
46 M-x c-mode | |
47 @end example | |
48 | |
49 @noindent | |
50 To select any other mode, just add the major mode name before the | |
51 '-mode'. The current mode in which you are in will be displayed in | |
52 parenthesis in the mode-line at the bottom of the frame. All major | |
53 modes have some special keybindings and you can get a listing of those | |
54 keybindings by selecting @b{List Keybindings} from the @b{Help} menu on | |
55 the menu bar. | |
56 | |
57 Some of the available modes in XEmacs are : | |
58 | |
59 @table @b | |
60 @item fundamental-mode | |
61 @cindex fundamental-mode | |
62 When you start XEmacs, usually you start with the default "Fundamental" | |
63 mode. This mode has no special definitions or settings. | |
64 | |
65 @item nroff-mode | |
66 @cindex nroff-mode | |
67 Use this mode when you have to format a text with nroff before it can be | |
68 available in readable form. It redefines some indentation | |
69 commands. @xref{Nroff Mode,,,,XEmacs User's Manual}, for information | |
70 on this mode. | |
71 | |
72 @item tex-mode | |
73 @cindex tex-mode | |
74 Use this mode if you are using the LaTeX text-formatter. It provides | |
75 commands for insertion of quotes, braces and other characters. It also | |
76 allows you to format the buffer for printing. @xref{TeX Mode,,,,XEmacs | |
77 Manual}, for information on this mode. | |
78 | |
79 @item texinfo-mode | |
80 @cindex texinfo-mode | |
81 Texinfo is a documentation system that uses a single source file to | |
82 produce both printed output and on-line documentation. When you use this | |
83 mode, there will be some special keybindings for inserting some | |
84 characters and executing some commands. | |
85 | |
86 @ifinfo | |
87 This info file which you are reading right now is produced by 'Texinfo' | |
88 @end ifinfo | |
89 @iftex | |
90 This manual itself is produced by 'Texinfo' | |
91 @end iftex | |
92 | |
93 @item outline-mode | |
94 @cindex outline-mode | |
95 Use this mode for editing outlines. When you enable this mode, you can | |
96 make part of the text temporarily invisible so that you can see the | |
97 overall structure of the outline. @xref{Outline Mode,,,,XEmacs User's | |
98 Manual}, for information on this mode. | |
99 | |
100 @item c-mode | |
101 @cindex c-mode | |
102 Use this mode for C programs. It will redefine some indentation | |
103 commands. @xref{C Indent,,,,XEmacs User's Manual}. | |
104 | |
105 @item lisp-mode | |
106 @cindex lisp-mode | |
107 Use this mode for Lisp programs. Look at the XEmacs User's Manual for | |
108 more information. | |
109 | |
110 @item fortran-mode | |
111 @cindex fortran-mode | |
112 Use this mode for Fortran programs. This mode provides special commands | |
113 to move around and some other indentation commands. For more | |
114 information on this mode, @xref{Fortran,,,,XEmacs User's Manual}. | |
115 | |
116 @item edit-picture | |
117 @cindex edit-picture | |
118 This is the picture mode which you can use to create a picture out of | |
119 text characters. @xref{Picture,,,,XEmacs User's Manual}, for more | |
120 information. | |
121 | |
122 @item asm-mode | |
123 @cindex asm-mode | |
124 Use asm-mode for editing files of assembler code. Look at the file | |
125 @file{ /usr/local/lib/xemacs-19.11/lisp/modes/asm.el} for more | |
126 information. | |
127 | |
128 @end table | |
129 | |
130 There are some other modes and commands for working with other kinds of | |
131 text or programs. Emacs also provides commands for reading and sending | |
132 Mail. For more information on these features look at the XEmacs | |
133 Manual. Emacs also provides the functions of a desk calendar, with a | |
134 diary of past or planned events. For more information on the calendar | |
135 mode look at the manual for Calendar Mode and Diary. | |
136 | |
137 @comment node-name, next, previous, up | |
138 @node Minor Modes, , Major Modes, Modes | |
139 @section Minor Modes | |
140 @cindex minor modes | |
141 | |
142 The minor modes in Emacs provide some optional features which you can | |
143 turn on or off. Any number of minor modes can be active at the same time | |
144 with any major mode. You can enable a minor mode in one buffer and | |
145 disable it in other mode. To enable a minor mode, for example the | |
146 font-lock mode type the following command: | |
147 | |
148 @example | |
149 M-x font-lock-mode | |
150 @end example | |
151 @noindent | |
152 To enable the other minor modes, replace the "font-lock" with the | |
153 name of the minor mode. To disable the mode type the command again. A | |
154 positive argument will always turn the mode on. Whenever you type this | |
155 command, it will turn the mode on if it was off, OR it will turn it off | |
156 if it was on i.e. it toggles. Look at the mode-line at the bottom of the | |
157 frame. If it says FLock in parentheses, then it means that this | |
158 mode is on, otherwise it is off. | |
159 | |
160 The following are some of the minor modes available in XEmacs. To enable | |
161 any one of them type "M-x" in front of them. | |
162 | |
163 @table @b | |
164 @item font-lock-mode | |
165 @cindex font-lock-mode | |
166 | |
167 You can also choose this mode by selecting the @b{Syntax Highlighting} | |
168 menu item from the @b{Options} menu on the menu-bar at the | |
169 top. If you wish to have this mode enabled permanently, choose | |
170 @b{Save Options} from the @b{Options} menu. @xref{Options Menu}, for | |
171 more information on the Options menu. You can also add statements in | |
172 your @file{.emacs} file. For each major mode in which you wish to | |
173 enable this minor mode, you need a statement in your @file{.emacs} | |
174 file. The following example shows how to enable the font-lock mode when | |
175 the major mode is c-mode. | |
176 | |
177 @example | |
178 (add-hook 'c-mode-hook 'turn-on-font-lock) | |
179 @end example | |
180 | |
181 @noindent | |
182 @xref{Other Customizations}. | |
183 | |
184 When you enable this mode, the text will be displayed in | |
185 different colors and fonts depending on the type of the text. This makes | |
186 the text very easy to read and understand. For example, comments might | |
187 be displayed in red, variables in black, functions in blue and other | |
188 keywords in different colors and fonts. When you select @b{More} from | |
189 the @b{Syntax Highlighting} option, you get very detailed display of | |
190 colors and fonts; function names within comments themselves might appear | |
191 in a different font and color. | |
192 | |
193 @item auto-fill-mode | |
194 @findex auto-fill-mode | |
195 Enabling this mode will provide automatic word-wrapping. The @key{SPC} | |
196 key will break lines i.e. insert newlines as you type to prevent lines | |
197 from becoming too long. | |
198 | |
199 @item overwrite-mode | |
200 @cindex overwrite-mode | |
201 When you enable this mode, the text that you type will replace the | |
202 existing text rather than moving it to the right (the default case). You | |
203 can enable this mode by selecting @b{Overstrike} menu-item from the | |
204 @b{Options} menu from the menu-bar. | |
205 | |
206 @item abbrev-mode | |
207 @cindex abbrev-modex | |
208 After you enable this mode, you can define words which will expand into | |
209 some different text i.e. you can define abbreviations. For example, you | |
210 might define "expand" to "expand will eventually expand to this | |
211 text". After this definition you will be able to get "expand will | |
212 eventually expand to this text" simply by typing | |
213 | |
214 @example | |
215 expand @key{SPC} | |
216 @end example | |
217 | |
218 @noindent | |
219 @xref{Abbrevs,,,,XEmacs User's Manual}, for more information on this | |
220 mode and on defining abbreviations. | |
221 | |
222 @item auto-save-mode | |
223 @cindex auto-save-mode | |
224 After you enable this mode in a buffer, the contents of that buffer will | |
225 be saved periodically. This will reduce the amount you might lose in | |
226 case of a system crash. | |
227 | |
228 @item line-number-mode | |
229 @cindex line-number-mode | |
230 After you enable this mode, the line number at which your cursor is | |
231 present will be displayed continously in the mode line. | |
232 | |
233 @item blink-paren | |
234 @cindex blink-paren | |
235 To enable this command, just type | |
236 @example | |
237 M-x blink-paren | |
238 @end example | |
239 | |
240 @noindent | |
241 Do not add the "-mode" to it. You can also select the @b{Paren | |
242 Highlighting} option from the @b{Options} menu. After you enable this | |
243 command, put your cursor on one of the left parenthesis. The other | |
244 matching parenthesis will start blinking. @xref{Options Menu,} for more | |
245 information on the @b{Paren Highlighting} option. | |
246 @end table | |
247 | |
248 For information on some other modes, look at the XEmacs User's Manual | |
249 and the associated files. | |
250 |