Commit | Line | Data |
---|---|---|
8cf51b2c GM |
1 | \input texinfo |
2 | ||
92f9b43f | 3 | @setfilename ../../info/emacs |
8cf51b2c GM |
4 | @settitle GNU Emacs Manual |
5 | ||
6 | @c The edition number appears in several places in this file | |
7 | @set EDITION Sixteenth | |
61a808e8 | 8 | @set EMACSVER 23.2 |
8cf51b2c GM |
9 | |
10 | @copying | |
11 | This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@* | |
12 | updated for Emacs version @value{EMACSVER}. | |
13 | ||
14 | Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, | |
6d98672d GM |
15 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
16 | 2010 Free Software Foundation, Inc. | |
8cf51b2c GM |
17 | |
18 | @quotation | |
19 | Permission is granted to copy, distribute and/or modify this document | |
4b121911 | 20 | under the terms of the GNU Free Documentation License, Version 1.3 or |
8cf51b2c GM |
21 | any later version published by the Free Software Foundation; with the |
22 | Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and | |
23 | ``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU | |
24 | Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the | |
25 | license is included in the section entitled ``GNU Free Documentation | |
26 | License.'' | |
27 | ||
8e65d46c GM |
28 | (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and |
29 | modify this GNU manual. Buying copies from the FSF supports it in | |
8cf51b2c GM |
30 | developing GNU and promoting software freedom.'' |
31 | @end quotation | |
32 | @end copying | |
33 | ||
34 | @dircategory Emacs | |
35 | @direntry | |
36 | * Emacs: (emacs). The extensible self-documenting text editor. | |
37 | @end direntry | |
38 | ||
39 | @c in general, keep the following line commented out, unless doing a | |
40 | @c copy of this manual that will be published. The manual should go | |
41 | @c onto the distribution in the full, 8.5 x 11" size. | |
42 | @c set smallbook | |
43 | ||
44 | @ifset smallbook | |
45 | @smallbook | |
46 | @end ifset | |
47 | ||
48 | @c per rms and peterb, use 10pt fonts for the main text, mostly to | |
49 | @c save on paper cost. | |
50 | @c Do this inside @tex for now, so current makeinfo does not complain. | |
51 | @tex | |
52 | @ifset smallbook | |
53 | @fonttextsize 10 | |
54 | @set EMACSVER 22 | |
55 | \global\let\urlcolor=\Black % don't print links in grayscale | |
56 | \global\let\linkcolor=\Black | |
57 | @end ifset | |
58 | \global\hbadness=6666 % don't worry about not-too-underfull boxes | |
59 | @end tex | |
60 | ||
61 | @defcodeindex op | |
62 | @synindex pg cp | |
63 | ||
64 | @iftex | |
65 | @kbdinputstyle code | |
66 | ||
67 | @shorttitlepage GNU Emacs Manual | |
68 | @end iftex | |
69 | ||
70 | @titlepage | |
71 | @sp 6 | |
72 | @center @titlefont{GNU Emacs Manual} | |
73 | @sp 4 | |
74 | @center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}. | |
75 | @sp 5 | |
76 | @center Richard Stallman | |
77 | @page | |
78 | @vskip 0pt plus 1filll | |
79 | @insertcopying | |
80 | ||
81 | @sp 2 | |
82 | Published by the Free Software Foundation @* | |
83 | 51 Franklin Street, Fifth Floor @* | |
84 | Boston, MA 02110-1301 USA @* | |
85 | ISBN 1-882114-86-8 | |
86 | ||
87 | @sp 2 | |
88 | Cover art by Etienne Suvasa. | |
89 | ||
90 | @end titlepage | |
91 | ||
92 | ||
93 | @summarycontents | |
94 | @contents | |
95 | ||
96 | ||
97 | @ifnottex | |
98 | @node Top, Distrib, (dir), (dir) | |
99 | @top The Emacs Editor | |
100 | ||
101 | Emacs is the extensible, customizable, self-documenting real-time | |
102 | display editor. This Info file describes how to edit with Emacs and | |
103 | some of how to customize it; it corresponds to GNU Emacs version | |
104 | @value{EMACSVER}. | |
105 | ||
106 | @ifinfo | |
753ad1de GM |
107 | To learn more about the Info documentation system, type @kbd{h}, |
108 | to visit a programmed instruction sequence for the Info commands. | |
8cf51b2c GM |
109 | @end ifinfo |
110 | ||
111 | For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The | |
112 | Emacs Lisp Reference Manual}. | |
753ad1de GM |
113 | |
114 | @insertcopying | |
8cf51b2c GM |
115 | @end ifnottex |
116 | ||
117 | @ignore | |
118 | These subcategories have been deleted for simplicity | |
119 | and to avoid conflicts. | |
120 | Completion | |
121 | Backup Files | |
122 | Auto-Saving: Protection Against Disasters | |
370fded4 | 123 | Tags |
8cf51b2c GM |
124 | Text Mode |
125 | Outline Mode | |
126 | @TeX{} Mode | |
127 | Formatted Text | |
128 | Shell Command History | |
129 | ||
130 | The ones for Dired and Rmail have had the items turned into :: items | |
131 | to avoid conflicts. | |
132 | Also Running Shell Commands from Emacs | |
133 | and Sending Mail and Registers and Minibuffer. | |
134 | @end ignore | |
135 | ||
136 | @menu | |
137 | * Distrib:: How to get the latest Emacs distribution. | |
8cf51b2c | 138 | * Intro:: An introduction to Emacs concepts. |
753ad1de | 139 | @c Note that in the printed manual, the glossary and indices come last. |
3420c522 | 140 | * Glossary:: Terms used in this manual. |
8cf51b2c GM |
141 | |
142 | Indexes (each index contains a large menu) | |
143 | * Key Index:: An item for each standard Emacs key sequence. | |
144 | * Option Index:: An item for every command-line option. | |
145 | * Command Index:: An item for each command name. | |
146 | * Variable Index:: An item for each documented variable. | |
147 | * Concept Index:: An item for each concept. | |
148 | ||
753ad1de GM |
149 | * Acknowledgments:: Major contributors to GNU Emacs. |
150 | ||
8cf51b2c GM |
151 | Important General Concepts |
152 | * Screen:: How to interpret what you see on the screen. | |
153 | * User Input:: Kinds of input events (characters, buttons, | |
154 | function keys). | |
155 | * Keys:: Key sequences: what you type to request one | |
156 | editing action. | |
157 | * Commands:: Named functions run by key sequences to do editing. | |
8cf51b2c GM |
158 | * Entering Emacs:: Starting Emacs from the shell. |
159 | * Exiting:: Stopping or killing Emacs. | |
8cf51b2c GM |
160 | |
161 | Fundamental Editing Commands | |
162 | * Basic:: The most basic editing commands. | |
163 | * Minibuffer:: Entering arguments that are prompted for. | |
164 | * M-x:: Invoking commands by their names. | |
165 | * Help:: Commands for asking Emacs about its commands. | |
166 | ||
167 | Important Text-Changing Commands | |
168 | * Mark:: The mark: how to delimit a ``region'' of text. | |
169 | * Killing:: Killing (cutting) text. | |
170 | * Yanking:: Recovering killed text. Moving text. (Pasting.) | |
171 | * Accumulating Text:: Other ways of copying text. | |
172 | * Rectangles:: Operating on the text inside a rectangle on the screen. | |
753ad1de GM |
173 | * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy |
174 | and paste, with enhanced rectangle support. | |
8cf51b2c GM |
175 | * Registers:: Saving a text string or a location in the buffer. |
176 | * Display:: Controlling what text is displayed. | |
177 | * Search:: Finding or replacing occurrences of a string. | |
178 | * Fixit:: Commands especially useful for fixing typos. | |
179 | * Keyboard Macros:: A keyboard macro records a sequence of | |
180 | keystrokes to be replayed with a single command. | |
181 | ||
182 | Major Structures of Emacs | |
183 | * Files:: All about handling files. | |
184 | * Buffers:: Multiple buffers; editing several files at once. | |
185 | * Windows:: Viewing two pieces of text at once. | |
186 | * Frames:: Running the same Emacs session in multiple X windows. | |
753ad1de | 187 | * International:: Using non-@acronym{ASCII} character sets. |
8cf51b2c GM |
188 | |
189 | Advanced Features | |
753ad1de | 190 | * Major Modes:: Text mode vs. Lisp mode vs. C mode... |
8cf51b2c GM |
191 | * Indentation:: Editing the white space at the beginnings of lines. |
192 | * Text:: Commands and modes for editing English. | |
193 | * Programs:: Commands and modes for editing programs. | |
194 | * Building:: Compiling, running and debugging programs. | |
195 | * Maintaining:: Features for maintaining large programs. | |
196 | * Abbrevs:: How to define text abbreviations to reduce | |
197 | the number of characters you must type. | |
753ad1de | 198 | @c AFAICS, the tex stuff generates its own index and does not use this one. |
8cf51b2c GM |
199 | @ifnottex |
200 | * Picture Mode:: Editing pictures made up of characters using | |
201 | the quarter-plane screen model. | |
202 | @end ifnottex | |
203 | * Sending Mail:: Sending mail in Emacs. | |
204 | * Rmail:: Reading mail in Emacs. | |
205 | * Dired:: You can ``edit'' a directory to manage files in it. | |
206 | * Calendar/Diary:: The calendar and diary facilities. | |
753ad1de | 207 | * Document View:: Viewing PDF, PS and DVI files. |
8cf51b2c GM |
208 | * Gnus:: How to read netnews with Emacs. |
209 | * Shell:: Executing shell commands from Emacs. | |
210 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | |
211 | * Printing:: Printing hardcopies of buffers or regions. | |
212 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. | |
213 | * Narrowing:: Restricting display and editing to a portion | |
214 | of the buffer. | |
215 | * Two-Column:: Splitting apart columns to edit them | |
216 | in side-by-side windows. | |
217 | * Editing Binary Files::Using Hexl mode to edit binary files. | |
218 | * Saving Emacs Sessions:: Saving Emacs state from one session to the next. | |
219 | * Recursive Edit:: A command can allow you to do editing | |
220 | "within the command". This is called a | |
221 | "recursive editing level". | |
222 | * Emulation:: Emulating some other editors with Emacs. | |
223 | * Hyperlinking:: Following links in buffers. | |
224 | * Dissociated Press:: Dissociating text for fun. | |
225 | * Amusements:: Various games and hacks. | |
226 | * Customization:: Modifying the behavior of Emacs. | |
8cf51b2c GM |
227 | |
228 | Recovery from Problems | |
229 | * Quitting:: Quitting and aborting. | |
230 | * Lossage:: What to do if Emacs is hung or malfunctioning. | |
231 | * Bugs:: How and when to report a bug. | |
232 | * Contributing:: How to contribute improvements to Emacs. | |
233 | * Service:: How to get help for your own Emacs needs. | |
234 | ||
753ad1de GM |
235 | Appendices |
236 | * Copying:: The GNU General Public License gives you permission | |
237 | to redistribute GNU Emacs on certain terms; | |
238 | it also explains that there is no warranty. | |
239 | * GNU Free Documentation License:: The license for this documentation. | |
240 | * Emacs Invocation:: Hairy startup options. | |
241 | * X Resources:: X resources for customizing Emacs. | |
242 | * Antinews:: Information about Emacs version 22. | |
243 | * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. | |
244 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. | |
245 | * Manifesto:: What's GNU? Gnu's Not Unix! | |
246 | ||
8cf51b2c GM |
247 | @c Do NOT modify the following 3 lines! They must have this form to |
248 | @c be correctly identified by `texinfo-multiple-files-update'. In | |
249 | @c particular, the detailed menu header line MUST be identical to the | |
250 | @c value of `texinfo-master-menu-header'. See texnfo-upd.el. | |
251 | ||
252 | @detailmenu | |
253 | --- The Detailed Node Listing --- | |
254 | --------------------------------- | |
255 | ||
256 | Here are some other nodes which are really inferiors of the ones | |
257 | already listed, mentioned here so you can get to them in one step: | |
258 | ||
259 | The Organization of the Screen | |
260 | ||
261 | * Point:: The place in the text where editing commands operate. | |
262 | * Echo Area:: Short messages appear at the bottom of the screen. | |
263 | * Mode Line:: Interpreting the mode line. | |
264 | * Menu Bar:: How to use the menu bar. | |
265 | ||
266 | Basic Editing Commands | |
267 | ||
268 | * Inserting Text:: Inserting text by simply typing it. | |
753ad1de GM |
269 | * Moving Point:: Moving the cursor to the place where you want to |
270 | change something. | |
8cf51b2c GM |
271 | * Erasing:: Deleting and killing text. |
272 | * Basic Undo:: Undoing recent changes in the text. | |
273 | * Basic Files:: Visiting, creating, and saving files. | |
274 | * Basic Help:: Asking what a character does. | |
753ad1de GM |
275 | * Blank Lines:: Making and deleting blank lines. |
276 | * Continuation Lines:: How Emacs displays lines too wide for the screen. | |
8cf51b2c | 277 | * Position Info:: What page, line, row, or column is point on? |
753ad1de GM |
278 | * Arguments:: Numeric arguments for repeating a command N times. |
279 | * Repeating:: Repeating the previous command quickly. | |
8cf51b2c GM |
280 | |
281 | The Minibuffer | |
282 | ||
283 | * Minibuffer File:: Entering file names with the minibuffer. | |
284 | * Minibuffer Edit:: How to edit in the minibuffer. | |
285 | * Completion:: An abbreviation facility for minibuffer input. | |
286 | * Minibuffer History:: Reusing recent minibuffer arguments. | |
287 | * Repetition:: Re-executing commands that used the minibuffer. | |
8d15c8db | 288 | * Passwords:: Entering passwords in the echo area. |
8cf51b2c GM |
289 | |
290 | Completion | |
291 | ||
753ad1de GM |
292 | * Completion Example:: Examples of using completion. |
293 | * Completion Commands:: A list of completion commands. | |
294 | * Strict Completion:: Different types of completion. | |
295 | * Completion Options:: Options for completion. | |
8cf51b2c GM |
296 | |
297 | Help | |
298 | ||
299 | * Help Summary:: Brief list of all Help commands. | |
300 | * Key Help:: Asking what a key does in Emacs. | |
301 | * Name Help:: Asking about a command, variable or function name. | |
302 | * Apropos:: Asking what pertains to a given topic. | |
303 | * Help Mode:: Special features of Help mode and Help buffers. | |
304 | * Library Keywords:: Finding Lisp libraries by keywords (topics). | |
305 | * Language Help:: Help relating to international language support. | |
306 | * Misc Help:: Other help commands. | |
307 | * Help Files:: Commands to display pre-written help files. | |
753ad1de | 308 | * Help Echo:: Help on active text and tooltips (`balloon help'). |
8cf51b2c GM |
309 | |
310 | The Mark and the Region | |
311 | ||
312 | * Setting Mark:: Commands to set the mark. | |
8cf51b2c | 313 | * Marking Objects:: Commands to put region around textual units. |
8583bd46 | 314 | * Using Region:: Summary of ways to operate on contents of the region. |
02105f6b CY |
315 | * Mark Ring:: Previous mark positions saved so you can go back there. |
316 | * Global Mark Ring:: Previous mark positions in various buffers. | |
317 | * Shift Selection:: Using shifted cursor motion keys. | |
8583bd46 | 318 | * Persistent Mark:: Keeping the mark active all the time. |
8cf51b2c GM |
319 | |
320 | Killing and Moving Text | |
321 | ||
322 | * Deletion:: Commands for deleting small amounts of text and | |
323 | blank areas. | |
324 | * Killing by Lines:: How to kill entire lines of text at one time. | |
325 | * Other Kill Commands:: Commands to kill large regions of text and | |
326 | syntactic units such as words and sentences. | |
91ed7ea8 | 327 | * Kill Options:: Options that affect killing. |
8cf51b2c GM |
328 | |
329 | Yanking | |
330 | ||
331 | * Kill Ring:: Where killed text is stored. Basic yanking. | |
332 | * Appending Kills:: Several kills in a row all yank together. | |
333 | * Earlier Kills:: Yanking something killed some time ago. | |
334 | ||
335 | Registers | |
336 | ||
337 | * RegPos:: Saving positions in registers. | |
338 | * RegText:: Saving text in registers. | |
339 | * RegRect:: Saving rectangles in registers. | |
340 | * RegConfig:: Saving window configurations in registers. | |
341 | * RegNumbers:: Numbers in registers. | |
342 | * RegFiles:: File names in registers. | |
343 | * Bookmarks:: Bookmarks are like registers, but persistent. | |
344 | ||
345 | Controlling the Display | |
346 | ||
753ad1de | 347 | * Scrolling:: Commands to move text up and down in a window. |
8cf51b2c GM |
348 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
349 | * Horizontal Scrolling:: Moving text left and right in a window. | |
350 | * Follow Mode:: Follow mode lets two windows scroll as one. | |
351 | * Faces:: How to change the display style using faces. | |
352 | * Standard Faces:: Emacs' predefined faces. | |
fa9f971a | 353 | * Temporary Face Changes:: Commands to temporarily modify the default text face |
8cf51b2c GM |
354 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
355 | * Highlight Interactively:: Tell Emacs what text to highlight. | |
356 | * Fringes:: Enabling or disabling window fringes. | |
357 | * Displaying Boundaries:: Displaying top and bottom of the buffer. | |
358 | * Useless Whitespace:: Showing possibly-spurious trailing whitespace. | |
359 | * Selective Display:: Hiding lines with lots of indentation. | |
360 | * Optional Mode Line:: Optional mode line display features. | |
361 | * Text Display:: How text characters are normally displayed. | |
362 | * Cursor Display:: Features for displaying the cursor. | |
363 | * Line Truncation:: Truncating lines to fit the screen width instead | |
364 | of continuing them to multiple screen lines. | |
4c2e2be9 | 365 | * Visual Line Mode:: Word wrap and screen line-based editing. |
8cf51b2c GM |
366 | * Display Custom:: Information on variables for customizing display. |
367 | ||
368 | Searching and Replacement | |
369 | ||
370 | * Incremental Search:: Search happens as you type the string. | |
371 | * Nonincremental Search:: Specify entire string and then search. | |
372 | * Word Search:: Search for sequence of words. | |
373 | * Regexp Search:: Search for match for a regexp. | |
374 | * Regexps:: Syntax of regular expressions. | |
375 | * Regexp Backslash:: Regular expression constructs starting with `\'. | |
376 | * Regexp Example:: A complex regular expression explained. | |
377 | * Search Case:: To ignore case while searching, or not. | |
378 | * Replace:: Search, and replace some or all matches. | |
379 | * Other Repeating Search:: Operating on all matches for some regexp. | |
380 | ||
381 | Incremental Search | |
382 | ||
383 | * Basic Isearch:: Basic incremental search commands. | |
384 | * Repeat Isearch:: Searching for the same string again. | |
385 | * Error in Isearch:: When your string is not found. | |
386 | * Special Isearch:: Special input in incremental search. | |
8cf51b2c GM |
387 | * Isearch Yank:: Commands that grab text into the search string |
388 | or else edit the search string. | |
8cf51b2c | 389 | * Isearch Scroll:: Scrolling during an incremental search. |
321e63fc | 390 | * Isearch Minibuffer:: Incremental search of the minibuffer history. |
8cf51b2c GM |
391 | * Slow Isearch:: Incremental search features for slow terminals. |
392 | ||
393 | Replacement Commands | |
394 | ||
395 | * Unconditional Replace:: Replacing all matches for a string. | |
396 | * Regexp Replace:: Replacing all matches for a regexp. | |
397 | * Replacement and Case:: How replacements preserve case of letters. | |
398 | * Query Replace:: How to use querying. | |
399 | ||
400 | Commands for Fixing Typos | |
401 | ||
753ad1de | 402 | * Undo:: The Undo commands. |
8cf51b2c GM |
403 | * Transpose:: Exchanging two characters, words, lines, lists... |
404 | * Fixing Case:: Correcting case of last word entered. | |
753ad1de | 405 | * Spelling:: Apply spelling checker to a word, or a whole file. |
8cf51b2c GM |
406 | |
407 | Keyboard Macros | |
408 | ||
409 | * Basic Keyboard Macro:: Defining and running keyboard macros. | |
410 | * Keyboard Macro Ring:: Where previous keyboard macros are saved. | |
411 | * Keyboard Macro Counter:: Inserting incrementing numbers in macros. | |
412 | * Keyboard Macro Query:: Making keyboard macros do different things each time. | |
413 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. | |
414 | * Edit Keyboard Macro:: Editing keyboard macros. | |
415 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard | |
416 | macro. | |
417 | ||
418 | File Handling | |
419 | ||
420 | * File Names:: How to type and edit file-name arguments. | |
421 | * Visiting:: Visiting a file prepares Emacs to edit the file. | |
422 | * Saving:: Saving makes your changes permanent. | |
423 | * Reverting:: Reverting cancels all the changes not saved. | |
424 | * Autorevert:: Auto Reverting non-file buffers. | |
425 | * Auto Save:: Auto Save periodically protects against loss of data. | |
426 | * File Aliases:: Handling multiple names for one file. | |
8cf51b2c GM |
427 | * Directories:: Creating, deleting, and listing file directories. |
428 | * Comparing Files:: Finding where two files differ. | |
753ad1de | 429 | * Diff Mode:: Mode for editing file differences. |
8cf51b2c GM |
430 | * Misc File Ops:: Other things you can do on files. |
431 | * Compressed Files:: Accessing compressed files. | |
432 | * File Archives:: Operating on tar, zip, jar etc. archive files. | |
433 | * Remote Files:: Accessing files on other sites. | |
434 | * Quoted File Names:: Quoting special characters in file names. | |
435 | * File Name Cache:: Completion against a list of files you often use. | |
436 | * File Conveniences:: Convenience Features for Finding Files. | |
437 | * Filesets:: Handling sets of files. | |
438 | ||
439 | Saving Files | |
440 | ||
441 | * Save Commands:: Commands for saving files. | |
442 | * Backup:: How Emacs saves the old version of your file. | |
443 | * Customize Save:: Customizing the saving of files. | |
444 | * Interlocking:: How Emacs protects against simultaneous editing | |
445 | of one file by two users. | |
446 | * File Shadowing:: Copying files to "shadows" automatically. | |
447 | * Time Stamps:: Emacs can update time stamps on saved files. | |
448 | ||
449 | Backup Files | |
450 | ||
753ad1de GM |
451 | * Backup Names:: How backup files are named. |
452 | * Backup Deletion:: Emacs deletes excess numbered backups. | |
453 | * Backup Copying:: Backups can be made by copying or renaming. | |
454 | ||
455 | Auto Reverting Non-File Buffers | |
456 | ||
457 | * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu. | |
458 | * Auto Reverting Dired:: Auto Revert of Dired buffers. | |
459 | * Supporting additional buffers:: How to add more Auto Revert support. | |
8cf51b2c GM |
460 | |
461 | Auto-Saving: Protection Against Disasters | |
462 | ||
753ad1de GM |
463 | * Auto Save Files:: The file where auto-saved changes are |
464 | actually made until you save the file. | |
465 | * Auto Save Control:: Controlling when and how often to auto-save. | |
466 | * Recover:: Recovering text from auto-save files. | |
8cf51b2c | 467 | |
8cf51b2c GM |
468 | Using Multiple Buffers |
469 | ||
470 | * Select Buffer:: Creating a new buffer or reselecting an old one. | |
471 | * List Buffers:: Getting a list of buffers that exist. | |
753ad1de | 472 | * Misc Buffer:: Renaming; changing read-onlyness; copying text. |
8cf51b2c GM |
473 | * Kill Buffer:: Killing buffers you no longer need. |
474 | * Several Buffers:: How to go through the list of all buffers | |
475 | and operate variously on several of them. | |
476 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. | |
477 | * Buffer Convenience:: Convenience and customization features for | |
478 | buffer handling. | |
479 | ||
753ad1de GM |
480 | Convenience Features and Customization of Buffer Handling |
481 | ||
482 | * Uniquify:: Making buffer names unique with directory parts. | |
483 | * Iswitchb:: Switching between buffers with substrings. | |
484 | * Buffer Menus:: Configurable buffer menu. | |
485 | ||
8cf51b2c GM |
486 | Multiple Windows |
487 | ||
488 | * Basic Window:: Introduction to Emacs windows. | |
489 | * Split Window:: New windows are made by splitting existing windows. | |
490 | * Other Window:: Moving to another window or doing something to it. | |
491 | * Pop Up Window:: Finding a file or buffer in another window. | |
492 | * Force Same Window:: Forcing certain buffers to appear in the selected | |
493 | window rather than in another window. | |
494 | * Change Window:: Deleting windows and changing their sizes. | |
495 | * Window Convenience:: Convenience functions for window handling. | |
496 | ||
497 | Frames and Graphical Displays | |
498 | ||
499 | * Cut and Paste:: Mouse commands for cut and paste. | |
500 | * Mouse References:: Using the mouse to select an item from a list. | |
501 | * Menu Mouse Clicks:: Mouse clicks that bring up menus. | |
502 | * Mode Line Mouse:: Mouse clicks on the mode line. | |
503 | * Creating Frames:: Creating additional Emacs frames with various contents. | |
504 | * Frame Commands:: Iconifying, deleting, and switching frames. | |
d68eb23c | 505 | * Fonts:: Changing the frame font. |
8cf51b2c GM |
506 | * Speedbar:: How to make and use a speedbar frame. |
507 | * Multiple Displays:: How one Emacs job can talk to several displays. | |
508 | * Special Buffer Frames:: You can make certain buffers have their own frames. | |
509 | * Frame Parameters:: Changing the colors and other modes of frames. | |
510 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. | |
511 | * Wheeled Mice:: Using mouse wheels for scrolling. | |
512 | * Drag and Drop:: Using drag and drop to open files and insert text. | |
513 | * Menu Bars:: Enabling and disabling the menu bar. | |
514 | * Tool Bars:: Enabling and disabling the tool bar. | |
515 | * Dialog Boxes:: Controlling use of dialog boxes. | |
753ad1de | 516 | * Tooltips:: Displaying information at the current mouse position. |
8cf51b2c GM |
517 | * Mouse Avoidance:: Moving the mouse pointer out of the way. |
518 | * Non-Window Terminals:: Multiple frames on terminals that show only one. | |
519 | * Text-Only Mouse:: Using the mouse in text-only terminals. | |
520 | ||
753ad1de GM |
521 | Killing and Yanking on Graphical Displays |
522 | ||
523 | * Mouse Commands:: Moving, cutting, and pasting, with the mouse. | |
524 | * Word and Line Mouse:: Mouse commands for selecting whole words or lines. | |
525 | * Cut/Paste Other App:: Transfering text between Emacs and other apps. | |
526 | * Secondary Selection:: Cutting without altering point and mark. | |
527 | * Clipboard:: Using the clipboard for selections. | |
528 | ||
8cf51b2c GM |
529 | International Character Set Support |
530 | ||
531 | * International Chars:: Basic concepts of multibyte characters. | |
532 | * Enabling Multibyte:: Controlling whether to use multibyte characters. | |
533 | * Language Environments:: Setting things up for the language you use. | |
534 | * Input Methods:: Entering text characters not on your keyboard. | |
535 | * Select Input Method:: Specifying your choice of input methods. | |
8cf51b2c GM |
536 | * Coding Systems:: Character set conversion when you read and |
537 | write files, and so on. | |
538 | * Recognize Coding:: How Emacs figures out which conversion to use. | |
539 | * Specify Coding:: Specifying a file's coding system explicitly. | |
540 | * Output Coding:: Choosing coding systems for output. | |
541 | * Text Coding:: Choosing conversion to use for file text. | |
542 | * Communication Coding:: Coding systems for interprocess communication. | |
543 | * File Name Coding:: Coding systems for file @emph{names}. | |
544 | * Terminal Coding:: Specifying coding systems for converting | |
545 | terminal input and output. | |
546 | * Fontsets:: Fontsets are collections of fonts | |
547 | that cover the whole spectrum of characters. | |
548 | * Defining Fontsets:: Defining a new fontset. | |
753ad1de | 549 | * Modifying Fontsets:: Modifying an existing fontset. |
8cf51b2c GM |
550 | * Undisplayable Characters::When characters don't display. |
551 | * Unibyte Mode:: You can pick one European character set | |
552 | to use without multibyte characters. | |
553 | * Charsets:: How Emacs groups its internal character codes. | |
554 | ||
555 | Major Modes | |
556 | ||
557 | * Choosing Modes:: How major modes are specified or chosen. | |
558 | ||
559 | Indentation | |
560 | ||
561 | * Indentation Commands:: Various commands and techniques for indentation. | |
562 | * Tab Stops:: You can set arbitrary "tab stops" and then | |
563 | indent to the next tab stop when you want to. | |
564 | * Just Spaces:: You can request indentation using just spaces. | |
565 | ||
566 | Commands for Human Languages | |
567 | ||
568 | * Words:: Moving over and killing words. | |
569 | * Sentences:: Moving over and killing sentences. | |
570 | * Paragraphs:: Moving over paragraphs. | |
571 | * Pages:: Moving over pages. | |
572 | * Filling:: Filling or justifying text. | |
573 | * Case:: Changing the case of text. | |
574 | * Text Mode:: The major modes for editing text files. | |
575 | * Outline Mode:: Editing outlines. | |
576 | * TeX Mode:: Editing input to the formatter TeX. | |
f67c5dd0 | 577 | * HTML Mode:: Editing HTML and SGML files. |
8cf51b2c GM |
578 | * Nroff Mode:: Editing input to the formatter nroff. |
579 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | |
580 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. | |
581 | ||
582 | Filling Text | |
583 | ||
584 | * Auto Fill:: Auto Fill mode breaks long lines automatically. | |
8cf51b2c GM |
585 | * Fill Commands:: Commands to refill paragraphs and center lines. |
586 | * Fill Prefix:: Filling paragraphs that are indented | |
587 | or in a comment, etc. | |
588 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | |
753ad1de | 589 | * Refill:: Keeping paragraphs filled. |
8cf51b2c GM |
590 | * Longlines:: Editing text with very long lines. |
591 | ||
592 | Outline Mode | |
593 | ||
753ad1de GM |
594 | * Outline Format:: What the text of an outline looks like. |
595 | * Outline Motion:: Special commands for moving through | |
596 | outlines. | |
597 | * Outline Visibility:: Commands to control what is visible. | |
598 | * Outline Views:: Outlines and multiple views. | |
599 | * Foldout:: Folding means zooming in on outlines. | |
8cf51b2c GM |
600 | |
601 | @TeX{} Mode | |
602 | ||
753ad1de GM |
603 | * TeX Editing:: Special commands for editing in TeX mode. |
604 | * LaTeX Editing:: Additional commands for LaTeX input files. | |
605 | * TeX Print:: Commands for printing part of a file with TeX. | |
606 | * TeX Misc:: Customization of TeX mode, and related features. | |
8cf51b2c GM |
607 | |
608 | Editing Formatted Text | |
609 | ||
610 | * Requesting Formatted Text:: Entering and exiting Enriched mode. | |
611 | * Hard and Soft Newlines:: There are two different kinds of newlines. | |
612 | * Editing Format Info:: How to edit text properties. | |
753ad1de GM |
613 | * Format Faces:: Bold, italic, underline, etc. |
614 | * Format Colors:: Changing the color of text. | |
615 | * Format Indentation:: Changing the left and right margins. | |
616 | * Format Justification:: Centering, setting text flush with the | |
8cf51b2c | 617 | left or right margin, etc. |
753ad1de | 618 | * Format Properties:: The "special" text properties submenu. |
8cf51b2c GM |
619 | * Forcing Enriched Mode:: How to force use of Enriched mode. |
620 | ||
753ad1de GM |
621 | @c The automatic texinfo menu update inserts some duplicate items here |
622 | @c (faces, colors, indentation, justification, properties), because | |
623 | @c they are listed in two menus. But we already have them above, no | |
624 | @c need to list them twice. | |
625 | ||
8cf51b2c GM |
626 | Editing Text-based Tables |
627 | ||
628 | * Table Definition:: What is a text based table. | |
629 | * Table Creation:: How to create a table. | |
630 | * Table Recognition:: How to activate and deactivate tables. | |
631 | * Cell Commands:: Cell-oriented commands in a table. | |
632 | * Cell Justification:: Justifying cell contents. | |
633 | * Row Commands:: Manipulating rows of table cell. | |
634 | * Column Commands:: Manipulating columns of table cell. | |
635 | * Fixed Width Mode:: Fixing cell width. | |
636 | * Table Conversion:: Converting between plain text and tables. | |
637 | * Measuring Tables:: Analyzing table dimension. | |
638 | * Table Misc:: Table miscellany. | |
639 | ||
640 | Editing Programs | |
641 | ||
642 | * Program Modes:: Major modes for editing programs. | |
643 | * Defuns:: Commands to operate on major top-level parts | |
644 | of a program. | |
645 | * Program Indent:: Adjusting indentation to show the nesting. | |
646 | * Parentheses:: Commands that operate on parentheses. | |
647 | * Comments:: Inserting, killing, and aligning comments. | |
648 | * Documentation:: Getting documentation of functions you plan to call. | |
649 | * Hideshow:: Displaying blocks selectively. | |
650 | * Symbol Completion:: Completion on symbol names of your program or language. | |
651 | * Glasses:: Making identifiersLikeThis more readable. | |
a42dbee1 | 652 | * Semantic:: Suite of editing tools based on source code parsing. |
8cf51b2c GM |
653 | * Misc for Programs:: Other Emacs features useful for editing programs. |
654 | * C Modes:: Special commands of C, C++, Objective-C, | |
655 | Java, and Pike modes. | |
656 | * Asm Mode:: Asm mode and its special features. | |
657 | * Fortran:: Fortran mode and its special features. | |
658 | ||
659 | Top-Level Definitions, or Defuns | |
660 | ||
661 | * Left Margin Paren:: An open-paren or similar opening delimiter | |
662 | starts a defun if it is at the left margin. | |
663 | * Moving by Defuns:: Commands to move over or mark a major definition. | |
664 | * Imenu:: Making buffer indexes as menus. | |
665 | * Which Function:: Which Function mode shows which function you are in. | |
666 | ||
667 | Indentation for Programs | |
668 | ||
669 | * Basic Indent:: Indenting a single line. | |
670 | * Multi-line Indent:: Commands to reindent many lines at once. | |
671 | * Lisp Indent:: Specifying how each Lisp function should be indented. | |
672 | * C Indent:: Extra features for indenting C and related modes. | |
673 | * Custom C Indent:: Controlling indentation style for C and related modes. | |
674 | ||
675 | Commands for Editing with Parentheses | |
676 | ||
677 | * Expressions:: Expressions with balanced parentheses. | |
678 | * Moving by Parens:: Commands for moving up, down and across | |
679 | in the structure of parentheses. | |
680 | * Matching:: Insertion of a close-delimiter flashes matching open. | |
681 | ||
682 | Manipulating Comments | |
683 | ||
684 | * Comment Commands:: Inserting, killing, and aligning comments. | |
685 | * Multi-Line Comments:: Commands for adding and editing multi-line comments. | |
686 | * Options for Comments::Customizing the comment features. | |
687 | ||
688 | Documentation Lookup | |
689 | ||
690 | * Info Lookup:: Looking up library functions and commands | |
691 | in Info files. | |
692 | * Man Page:: Looking up man pages of library functions and commands. | |
693 | * Lisp Doc:: Looking up Emacs Lisp functions, etc. | |
694 | ||
695 | C and Related Modes | |
696 | ||
697 | * Motion in C:: Commands to move by C statements, etc. | |
698 | * Electric C:: Colon and other chars can automatically reindent. | |
699 | * Hungry Delete:: A more powerful DEL command. | |
700 | * Other C Commands:: Filling comments, viewing expansion of macros, | |
701 | and other neat features. | |
702 | ||
753ad1de GM |
703 | Fortran Mode |
704 | ||
705 | * Fortran Motion:: Moving point by statements or subprograms. | |
706 | * Fortran Indent:: Indentation commands for Fortran. | |
707 | * Fortran Comments:: Inserting and aligning comments. | |
708 | * Fortran Autofill:: Auto fill support for Fortran. | |
709 | * Fortran Columns:: Measuring columns for valid Fortran. | |
710 | * Fortran Abbrev:: Built-in abbrevs for Fortran keywords. | |
711 | ||
712 | Fortran Indentation | |
713 | ||
714 | * ForIndent Commands:: Commands for indenting and filling Fortran. | |
715 | * ForIndent Cont:: How continuation lines indent. | |
716 | * ForIndent Num:: How line numbers auto-indent. | |
717 | * ForIndent Conv:: Conventions you must obey to avoid trouble. | |
718 | * ForIndent Vars:: Variables controlling Fortran indent style. | |
719 | ||
8cf51b2c GM |
720 | Compiling and Testing Programs |
721 | ||
722 | * Compilation:: Compiling programs in languages other | |
723 | than Lisp (C, Pascal, etc.). | |
724 | * Compilation Mode:: The mode for visiting compiler errors. | |
725 | * Compilation Shell:: Customizing your shell properly | |
726 | for use in the compilation buffer. | |
727 | * Grep Searching:: Searching with grep. | |
728 | * Flymake:: Finding syntax errors on the fly. | |
729 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. | |
730 | * Executing Lisp:: Various modes for editing Lisp programs, | |
731 | with different facilities for running | |
732 | the Lisp programs. | |
733 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. | |
734 | * Lisp Eval:: Executing a single Lisp expression in Emacs. | |
735 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. | |
736 | * External Lisp:: Communicating through Emacs with a separate Lisp. | |
737 | ||
738 | Running Debuggers Under Emacs | |
739 | ||
740 | * Starting GUD:: How to start a debugger subprocess. | |
741 | * Debugger Operation:: Connection between the debugger and source buffers. | |
742 | * Commands of GUD:: Key bindings for common commands. | |
743 | * GUD Customization:: Defining your own commands for GUD. | |
744 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to | |
745 | implement a graphical debugging environment through | |
746 | Emacs. | |
747 | ||
753ad1de GM |
748 | GDB Graphical Interface |
749 | ||
49f073bd NR |
750 | * GDB-UI Layout:: Control the number of displayed buffers. |
751 | * Source Buffers:: Use the mouse in the fringe/margin to | |
752 | control your program. | |
753 | * Breakpoints Buffer:: A breakpoint control panel. | |
754 | * Stack Buffer:: Select a frame from the call stack. | |
755 | * Other GDB-UI Buffers::Input/output, locals, registers, | |
756 | assembler, threads and memory buffers. | |
757 | * Watch Expressions:: Monitor variable values in the speedbar. | |
753ad1de | 758 | |
8cf51b2c GM |
759 | Maintaining Large Programs |
760 | ||
753ad1de | 761 | * Version Control:: Using version control systems. |
8cf51b2c | 762 | * Change Log:: Maintaining a change history for your program. |
4d120d6a | 763 | * Tags:: Go directly to any function in your program in one |
8cf51b2c | 764 | command. Tags remembers which file it is in. |
a42dbee1 | 765 | * EDE:: An integrated development environment for Emacs. |
8cf51b2c GM |
766 | * Emerge:: A convenient way of merging two versions of a program. |
767 | ||
1963ba49 CY |
768 | Version Control |
769 | ||
770 | * Introduction to VC:: How version control works in general. | |
771 | * VC Mode Line:: How the mode line shows version control status. | |
772 | * Basic VC Editing:: How to edit a file under version control. | |
753ad1de | 773 | * Old Revisions:: Examining and comparing old versions. |
1963ba49 | 774 | * Secondary VC Commands:: The commands used a little less frequently. |
753ad1de | 775 | * VC Directory Mode:: Listing files managed by version control. |
1963ba49 CY |
776 | * Branches:: Multiple lines of development. |
777 | * Remote Repositories:: Efficient access to remote CVS servers. | |
753ad1de | 778 | * Revision Tags:: Symbolic names for revisions. |
1963ba49 CY |
779 | * Miscellaneous VC:: Various other commands and features of VC. |
780 | * Customizing VC:: Variables that change VC's behavior. | |
753ad1de GM |
781 | |
782 | Introduction to Version Control | |
783 | ||
784 | * Why Version Control?:: Understanding the problems it addresses. | |
785 | * Version Control Systems:: Supported version control back-end systems. | |
786 | * VCS Concepts:: Words and concepts related to version control. | |
787 | * Types of Log File:: The VCS log in contrast to the ChangeLog. | |
788 | ||
789 | Basic Editing under Version Control | |
790 | ||
791 | * VC With A Merging VCS:: Without locking: default mode for CVS. | |
792 | * VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. | |
793 | * Advanced C-x v v:: Advanced features available with a prefix argument. | |
794 | * Log Buffer:: Features available in log entry buffers. | |
795 | ||
796 | The Secondary Commands of VC | |
797 | ||
798 | * Registering:: Putting a file under version control. | |
c0c035fa | 799 | * VC Change Log:: Viewing the VC Change Log. |
753ad1de GM |
800 | * VC Undo:: Canceling changes before or after check-in. |
801 | ||
802 | VC Directory Mode | |
803 | ||
804 | * VC Directory Buffer:: What the buffer looks like and means. | |
805 | * VC Directory Commands:: Commands to use in a VC directory buffer. | |
806 | ||
807 | Multiple Branches of a File | |
808 | ||
809 | * Switching Branches:: How to get to another existing branch. | |
810 | * Creating Branches:: How to start a new branch. | |
811 | * Merging:: Transferring changes between branches. | |
812 | * Multi-User Branching:: Multiple users working at multiple branches | |
813 | in parallel. | |
814 | ||
815 | Remote Repositories | |
816 | ||
817 | * Version Backups:: Keeping local copies of repository versions. | |
818 | * Local Version Control:: Using another version system for local editing. | |
819 | ||
820 | Revision Tags | |
821 | ||
822 | * Making Revision Tags:: The tag facilities. | |
823 | * Revision Tag Caveats:: Things to be careful of when using tags. | |
824 | ||
825 | Miscellaneous Commands and Features of VC | |
826 | ||
827 | * Change Logs and VC:: Generating a change log file from log entries. | |
828 | * Renaming and VC:: A command to rename both the source and master | |
829 | file correctly. | |
830 | * Version Headers:: Inserting version control headers into working files. | |
831 | ||
832 | Customizing VC | |
833 | ||
834 | * General VC Options:: Options that apply to multiple back ends. | |
835 | * RCS and SCCS:: Options for RCS and SCCS. | |
836 | * CVS Options:: Options for CVS. | |
837 | ||
838 | Change Logs | |
839 | ||
840 | * Change Log Commands:: Commands for editing change log files. | |
841 | * Format of ChangeLog:: What the change log file looks like. | |
1963ba49 | 842 | |
8cf51b2c GM |
843 | Tags Tables |
844 | ||
845 | * Tag Syntax:: Tag syntax for various types of code and text files. | |
846 | * Create Tags Table:: Creating a tags table with @code{etags}. | |
847 | * Etags Regexps:: Create arbitrary tags using regular expressions. | |
848 | * Select Tags Table:: How to visit a tags table. | |
849 | * Find Tag:: Commands to find the definition of a specific tag. | |
850 | * Tags Search:: Using a tags table for searching and replacing. | |
851 | * List Tags:: Listing and finding tags defined in a file. | |
852 | ||
753ad1de GM |
853 | Merging Files with Emerge |
854 | ||
855 | * Overview of Emerge:: How to start Emerge. Basic concepts. | |
856 | * Submodes of Emerge:: Fast mode vs. Edit mode. | |
857 | Skip Prefers mode and Auto Advance mode. | |
858 | * State of Difference:: You do the merge by specifying state A or B | |
859 | for each difference. | |
860 | * Merge Commands:: Commands for selecting a difference, | |
861 | changing states of differences, etc. | |
862 | * Exiting Emerge:: What to do when you've finished the merge. | |
863 | * Combining in Emerge:: How to keep both alternatives for a difference. | |
864 | * Fine Points of Emerge:: Miscellaneous issues. | |
865 | ||
8cf51b2c GM |
866 | Abbrevs |
867 | ||
868 | * Abbrev Concepts:: Fundamentals of defined abbrevs. | |
869 | * Defining Abbrevs:: Defining an abbrev, so it will expand when typed. | |
870 | * Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion. | |
871 | * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. | |
872 | * Saving Abbrevs:: Saving the entire list of abbrevs for another session. | |
873 | * Dynamic Abbrevs:: Abbreviations for words already in the buffer. | |
874 | * Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling. | |
875 | ||
876 | @ifnottex | |
877 | Editing Pictures | |
878 | ||
879 | * Basic Picture:: Basic concepts and simple commands of Picture Mode. | |
880 | * Insert in Picture:: Controlling direction of cursor motion | |
881 | after "self-inserting" characters. | |
882 | * Tabs in Picture:: Various features for tab stops and indentation. | |
883 | * Rectangles in Picture:: Clearing and superimposing rectangles. | |
884 | @end ifnottex | |
885 | ||
886 | Sending Mail | |
887 | ||
888 | * Mail Format:: Format of the mail being composed. | |
753ad1de | 889 | * Mail Headers:: Details of some standard mail header fields. |
8cf51b2c | 890 | * Mail Aliases:: Abbreviating and grouping mail addresses. |
e73c2434 CY |
891 | * Mail Commands:: Special commands for editing mail being composed. |
892 | * Mail Signature:: Adding a signature to every message. | |
753ad1de | 893 | * Mail Amusements:: Distracting the NSA; adding fortune messages. |
8cf51b2c GM |
894 | * Mail Methods:: Using alternative mail-composition methods. |
895 | ||
e73c2434 | 896 | Mail Commands |
753ad1de GM |
897 | |
898 | * Mail Sending:: Commands to send the message. | |
899 | * Header Editing:: Commands to move to header fields and edit them. | |
e73c2434 CY |
900 | * Citing Mail:: Quoting a message you are replying to. |
901 | * Mail Misc:: Attachments, spell checking, etc. | |
753ad1de | 902 | |
8cf51b2c GM |
903 | Reading Mail with Rmail |
904 | ||
905 | * Rmail Basics:: Basic concepts of Rmail, and simple use. | |
906 | * Rmail Scrolling:: Scrolling through a message. | |
907 | * Rmail Motion:: Moving to another message. | |
908 | * Rmail Deletion:: Deleting and expunging messages. | |
909 | * Rmail Inbox:: How mail gets into the Rmail file. | |
910 | * Rmail Files:: Using multiple Rmail files. | |
911 | * Rmail Output:: Copying message out to files. | |
912 | * Rmail Labels:: Classifying messages by labeling them. | |
913 | * Rmail Attributes:: Certain standard labels, called attributes. | |
914 | * Rmail Reply:: Sending replies to messages you are viewing. | |
915 | * Rmail Summary:: Summaries show brief info on many messages. | |
916 | * Rmail Sorting:: Sorting messages in Rmail. | |
917 | * Rmail Display:: How Rmail displays a message; customization. | |
918 | * Rmail Coding:: How Rmail handles decoding character sets. | |
919 | * Rmail Editing:: Editing message text and headers in Rmail. | |
920 | * Rmail Digest:: Extracting the messages from a digest message. | |
8cf51b2c GM |
921 | * Rmail Rot13:: Reading messages encoded in the rot13 code. |
922 | * Movemail:: More details of fetching new mail. | |
753ad1de GM |
923 | * Remote Mailboxes:: Retrieving mail from remote mailboxes. |
924 | * Other Mailbox Formats:: Retrieving mail from local mailboxes in | |
925 | various formats. | |
926 | ||
927 | Summaries | |
928 | ||
929 | * Rmail Make Summary:: Making various sorts of summaries. | |
930 | * Rmail Summary Edit:: Manipulating messages from the summary. | |
8cf51b2c GM |
931 | |
932 | Dired, the Directory Editor | |
933 | ||
934 | * Dired Enter:: How to invoke Dired. | |
753ad1de | 935 | * Dired Navigation:: Special motion commands in the Dired buffer. |
8cf51b2c GM |
936 | * Dired Deletion:: Deleting files with Dired. |
937 | * Flagging Many Files:: Flagging files based on their names. | |
938 | * Dired Visiting:: Other file operations through Dired. | |
939 | * Marks vs Flags:: Flagging for deletion vs marking. | |
940 | * Operating on Files:: How to copy, rename, print, compress, etc. | |
941 | either one file or several files. | |
942 | * Shell Commands in Dired:: Running a shell command on the marked files. | |
943 | * Transforming File Names:: Using patterns to rename multiple files. | |
944 | * Comparison in Dired:: Running `diff' by way of Dired. | |
945 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | |
946 | * Subdir Switches:: Subdirectory switches in Dired. | |
947 | * Subdirectory Motion:: Moving across subdirectories, and up and down. | |
948 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | |
949 | * Dired Updating:: Discarding lines for files of no interest. | |
950 | * Dired and Find:: Using `find' to choose the files for Dired. | |
951 | * Wdired:: Operating on files by editing the Dired buffer. | |
753ad1de | 952 | * Image-Dired:: Viewing image thumbnails in Dired. |
8cf51b2c GM |
953 | * Misc Dired Features:: Various other features. |
954 | ||
955 | The Calendar and the Diary | |
956 | ||
957 | * Calendar Motion:: Moving through the calendar; selecting a date. | |
958 | * Scroll Calendar:: Bringing earlier or later months onto the screen. | |
959 | * Counting Days:: How many days are there between two dates? | |
960 | * General Calendar:: Exiting or recomputing the calendar. | |
961 | * Writing Calendar Files:: Writing calendars to files of various formats. | |
962 | * Holidays:: Displaying dates of holidays. | |
963 | * Sunrise/Sunset:: Displaying local times of sunrise and sunset. | |
964 | * Lunar Phases:: Displaying phases of the moon. | |
965 | * Other Calendars:: Converting dates to other calendar systems. | |
966 | * Diary:: Displaying events from your diary. | |
967 | * Appointments:: Reminders when it's time to do something. | |
968 | * Importing Diary:: Converting diary events to/from other formats. | |
969 | * Daylight Saving:: How to specify when daylight saving time is active. | |
970 | * Time Intervals:: Keeping track of time intervals. | |
971 | * Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization. | |
972 | ||
973 | Movement in the Calendar | |
974 | ||
975 | * Calendar Unit Motion:: Moving by days, weeks, months, and years. | |
976 | * Move to Beginning or End:: Moving to start/end of weeks, months, and years. | |
977 | * Specified Dates:: Moving to the current date or another | |
978 | specific date. | |
979 | ||
980 | Conversion To and From Other Calendars | |
981 | ||
982 | * Calendar Systems:: The calendars Emacs understands | |
983 | (aside from Gregorian). | |
984 | * To Other Calendar:: Converting the selected date to various calendars. | |
985 | * From Other Calendar:: Moving to a date specified in another calendar. | |
986 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | |
987 | ||
988 | The Diary | |
989 | ||
990 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. | |
991 | * Format of Diary File:: Entering events in your diary. | |
992 | * Date Formats:: Various ways you can specify dates. | |
993 | * Adding to Diary:: Commands to create diary entries. | |
994 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | |
995 | ||
753ad1de GM |
996 | Customizing the Calendar and Diary |
997 | ||
998 | * Calendar Customizing:: Calendar layout and hooks. | |
999 | * Holiday Customizing:: Defining your own holidays. | |
1000 | * Date Display Format:: Changing the format. | |
1001 | * Time Display Format:: Changing the format. | |
1002 | * Diary Customizing:: Defaults you can set. | |
1003 | * Non-Gregorian Diary:: Diary entries based on other calendars. | |
806642d4 GM |
1004 | * Diary Display:: A choice of ways to display the diary. |
1005 | * Fancy Diary Display:: Sorting diary entries, using included diary files. | |
1006 | * Sexp Diary Entries:: More flexible diary entries. | |
753ad1de GM |
1007 | |
1008 | Document Viewing | |
3f6db393 CY |
1009 | |
1010 | * Navigation:: Navigation inside DocView buffers. | |
1011 | * Searching:: Searching inside documents. | |
753ad1de | 1012 | * Slicing:: Specifying which part of pages should be displayed. |
fa687b02 | 1013 | * Conversion:: Influencing and triggering conversion. |
3f6db393 | 1014 | |
8cf51b2c GM |
1015 | Gnus |
1016 | ||
1017 | * Buffers of Gnus:: The group, summary, and article buffers. | |
1018 | * Gnus Startup:: What you should know about starting Gnus. | |
1019 | * Summary of Gnus:: A short description of the basic Gnus commands. | |
1020 | ||
1021 | Running Shell Commands from Emacs | |
1022 | ||
1023 | * Single Shell:: How to run one shell command and return. | |
1024 | * Interactive Shell:: Permanent shell taking input via Emacs. | |
1025 | * Shell Mode:: Special Emacs commands used with permanent shell. | |
1026 | * Shell Prompts:: Two ways to recognize shell prompts. | |
1027 | * Shell History:: Repeating previous commands in a shell buffer. | |
1028 | * Directory Tracking:: Keeping track when the subshell changes directory. | |
1029 | * Shell Options:: Options for customizing Shell mode. | |
1030 | * Terminal emulator:: An Emacs window as a terminal emulator. | |
1031 | * Term Mode:: Special Emacs commands used in Term mode. | |
1032 | * Paging in Term:: Paging in the terminal emulator. | |
1033 | * Remote Host:: Connecting to another computer. | |
37e5d54a | 1034 | * Serial Terminal:: Connecting to a serial port. |
8cf51b2c | 1035 | |
753ad1de GM |
1036 | Shell Command History |
1037 | ||
1038 | * Shell Ring:: Fetching commands from the history list. | |
1039 | * Shell History Copying::Moving to a command and then copying it. | |
1040 | * History References:: Expanding @samp{!}-style history references. | |
1041 | ||
8cf51b2c GM |
1042 | Using Emacs as a Server |
1043 | ||
e670e599 CY |
1044 | * Invoking emacsclient:: Connecting to the Emacs server. |
1045 | * emacsclient Options:: Emacs client startup options. | |
8cf51b2c GM |
1046 | |
1047 | Printing Hard Copies | |
1048 | ||
1049 | * PostScript:: Printing buffers or regions as PostScript. | |
1050 | * PostScript Variables:: Customizing the PostScript printing commands. | |
1051 | * Printing Package:: An optional advanced printing interface. | |
1052 | ||
1053 | Hyperlinking and Navigation Features | |
1054 | ||
1055 | * Browse-URL:: Following URLs. | |
60d8d164 | 1056 | * Goto Address mode:: Activating URLs. |
8cf51b2c GM |
1057 | * FFAP:: Finding files etc. at point. |
1058 | ||
1059 | Customization | |
1060 | ||
753ad1de | 1061 | * Minor Modes:: Each minor mode is a feature you can turn on |
8cf51b2c | 1062 | independently of any others. |
753ad1de | 1063 | * Easy Customization:: Convenient way to browse and change settings. |
8cf51b2c GM |
1064 | * Variables:: Many Emacs commands examine Emacs variables |
1065 | to decide what to do; by setting variables, | |
1066 | you can control their functioning. | |
1067 | * Key Bindings:: The keymaps say what command each key runs. | |
1068 | By changing them, you can "redefine keys". | |
1069 | * Syntax:: The syntax table controls how words and | |
1070 | expressions are parsed. | |
1071 | * Init File:: How to write common customizations in the | |
1072 | @file{.emacs} file. | |
1073 | ||
753ad1de GM |
1074 | Easy Customization Interface |
1075 | ||
1076 | * Customization Groups:: How settings are classified in a structure. | |
1077 | * Browsing Custom:: Browsing and searching for settings. | |
1078 | * Changing a Variable:: How to edit an option's value and set the option. | |
1079 | * Saving Customizations:: Specifying the file for saving customizations. | |
1080 | * Face Customization:: How to edit the attributes of a face. | |
1081 | * Specific Customization:: Making a customization buffer for specific | |
1082 | variables, faces, or groups. | |
1083 | * Custom Themes:: How to define collections of customized options | |
1084 | that can be loaded and unloaded together. | |
1085 | ||
8cf51b2c GM |
1086 | Variables |
1087 | ||
1088 | * Examining:: Examining or setting one variable's value. | |
1089 | * Hooks:: Hook variables let you specify programs for parts | |
1090 | of Emacs to run on particular occasions. | |
1091 | * Locals:: Per-buffer values of variables. | |
1092 | * File Variables:: How files can specify variable values. | |
753ad1de GM |
1093 | * Directory Variables:: How variable values can be specified by directory. |
1094 | ||
1095 | Local Variables in Files | |
1096 | ||
1097 | * Specifying File Variables:: Specifying file local variables. | |
1098 | * Safe File Variables:: Making sure file local variables are safe. | |
8cf51b2c GM |
1099 | |
1100 | Customizing Key Bindings | |
1101 | ||
1102 | * Keymaps:: Generalities. The global keymap. | |
1103 | * Prefix Keymaps:: Keymaps for prefix keys. | |
1104 | * Local Keymaps:: Major and minor modes have their own keymaps. | |
1105 | * Minibuffer Maps:: The minibuffer uses its own local keymaps. | |
1106 | * Rebinding:: How to redefine one key's meaning conveniently. | |
1107 | * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | |
f049d162 | 1108 | * Modifier Keys:: Using modifier keys in key bindings. |
8cf51b2c GM |
1109 | * Function Keys:: Rebinding terminal function keys. |
1110 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | |
1111 | * Mouse Buttons:: Rebinding mouse buttons in Emacs. | |
1112 | * Disabling:: Disabling a command means confirmation is required | |
1113 | before it can be executed. This is done to protect | |
1114 | beginners from surprises. | |
1115 | ||
1116 | The Init File, @file{~/.emacs} | |
1117 | ||
1118 | * Init Syntax:: Syntax of constants in Emacs Lisp. | |
1119 | * Init Examples:: How to do some things with an init file. | |
1120 | * Terminal Init:: Each terminal type can have an init file. | |
1121 | * Find Init:: How Emacs finds the init file. | |
1122 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. | |
1123 | ||
1124 | Dealing with Emacs Trouble | |
1125 | ||
1126 | * DEL Does Not Delete:: What to do if @key{DEL} doesn't delete. | |
1127 | * Stuck Recursive:: `[...]' in mode line around the parentheses. | |
1128 | * Screen Garbled:: Garbage on the screen. | |
1129 | * Text Garbled:: Garbage in the text. | |
1130 | * Memory Full:: How to cope when you run out of memory. | |
1131 | * After a Crash:: Recovering editing in an Emacs session that crashed. | |
1132 | * Emergency Escape:: Emergency escape--- | |
1133 | What to do if Emacs stops responding. | |
1134 | * Total Frustration:: When you are at your wits' end. | |
1135 | ||
1136 | Reporting Bugs | |
1137 | ||
1138 | * Bug Criteria:: Have you really found a bug? | |
1139 | * Understanding Bug Reporting:: How to report a bug effectively. | |
1140 | * Checklist:: Steps to follow for a good bug report. | |
1141 | * Sending Patches:: How to send a patch for GNU Emacs. | |
1142 | ||
1143 | Command Line Arguments for Emacs Invocation | |
1144 | ||
1145 | * Action Arguments:: Arguments to visit files, load libraries, | |
1146 | and call functions. | |
1147 | * Initial Options:: Arguments that take effect while starting Emacs. | |
1148 | * Command Example:: Examples of using command line arguments. | |
1149 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. | |
1150 | * Environment:: Environment variables that Emacs uses. | |
1151 | * Display X:: Changing the default display and using remote login. | |
1152 | * Font X:: Choosing a font for text, under X. | |
1153 | * Colors:: Choosing display colors. | |
1154 | * Window Size X:: Start-up window size, under X. | |
1155 | * Borders X:: Internal and external borders, under X. | |
1156 | * Title X:: Specifying the initial frame's title. | |
1157 | * Icons X:: Choosing what sort of icon to use, under X. | |
1158 | * Misc X:: Other display options. | |
1159 | ||
1160 | Environment Variables | |
1161 | ||
1162 | * General Variables:: Environment variables that all versions of Emacs use. | |
753ad1de | 1163 | * Misc Variables:: Certain system-specific variables. |
8cf51b2c GM |
1164 | * MS-Windows Registry:: An alternative to the environment on MS-Windows. |
1165 | ||
1166 | X Options and Resources | |
1167 | ||
1168 | * Resources:: Using X resources with Emacs (in general). | |
1169 | * Table of Resources:: Table of specific X resources that affect Emacs. | |
1170 | * Face Resources:: X resources for customizing faces. | |
1171 | * Lucid Resources:: X resources for Lucid menus. | |
1172 | * LessTif Resources:: X resources for LessTif and Motif menus. | |
1173 | * GTK resources:: Resources for GTK widgets. | |
1174 | ||
753ad1de GM |
1175 | GTK resources |
1176 | ||
1177 | * GTK widget names:: How widgets in GTK are named in general. | |
1178 | * GTK Names in Emacs:: GTK widget names in Emacs. | |
1179 | * GTK styles:: What can be customized in a GTK widget. | |
1180 | ||
e93bc142 | 1181 | Emacs and Mac OS / GNUstep |
8cf51b2c | 1182 | |
753ad1de GM |
1183 | * Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS. |
1184 | * Mac / GNUstep Customization:: Customizations under GNUstep or Mac OS. | |
1185 | * Mac / GNUstep Events:: How window system events are handled. | |
1186 | * GNUstep Support:: Details on status of GNUstep support. | |
8cf51b2c GM |
1187 | |
1188 | Emacs and Microsoft Windows/MS-DOS | |
1189 | ||
1190 | * Text and Binary:: Text files use CRLF to terminate lines. | |
1191 | * Windows Files:: File-name conventions on Windows. | |
1192 | * ls in Lisp:: Emulation of @code{ls} for Dired. | |
1193 | * Windows HOME:: Where Emacs looks for your @file{.emacs}. | |
1194 | * Windows Keyboard:: Windows-specific keyboard features. | |
1195 | * Windows Mouse:: Windows-specific mouse features. | |
1196 | * Windows Processes:: Running subprocesses on Windows. | |
1197 | * Windows Printing:: How to specify the printer on MS-Windows. | |
753ad1de | 1198 | * Windows Fonts:: Specifying fonts on MS-Windows. |
8cf51b2c GM |
1199 | * Windows Misc:: Miscellaneous Windows features. |
1200 | * MS-DOS:: Using Emacs on MS-DOS (otherwise known as @dfn{MS-DOG}). | |
753ad1de GM |
1201 | |
1202 | Emacs and MS-DOS | |
1203 | ||
1204 | * MS-DOS Keyboard:: Keyboard conventions on MS-DOS. | |
1205 | * MS-DOS Mouse:: Mouse conventions on MS-DOS. | |
1206 | * MS-DOS Display:: Fonts, frames and display size on MS-DOS. | |
1207 | * MS-DOS File Names:: File name conventions on MS-DOS. | |
1208 | * MS-DOS Printing:: Printing specifics on MS-DOS. | |
1209 | * MS-DOS and MULE:: Support for internationalization on MS-DOS. | |
1210 | * MS-DOS Processes:: Running subprocesses on MS-DOS. | |
1211 | ||
8cf51b2c GM |
1212 | @end detailmenu |
1213 | @end menu | |
1214 | ||
1215 | @iftex | |
1216 | @unnumbered Preface | |
1217 | ||
1218 | This manual documents the use and simple customization of the Emacs | |
1219 | editor. Simple Emacs customizations do not require you to be a | |
1220 | programmer, but if you are not interested in customizing, you can | |
1221 | ignore the customization hints. | |
1222 | ||
1223 | This is primarily a reference manual, but can also be used as a | |
1224 | primer. If you are new to Emacs, we recommend you start with | |
753ad1de | 1225 | the integrated, learn-by-doing tutorial, before reading the manual. To |
8cf51b2c GM |
1226 | run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial |
1227 | describes commands, tells you when to try them, and explains the | |
1228 | results. | |
1229 | ||
1230 | On first reading, just skim chapters 1 and 2, which describe the | |
1231 | notational conventions of the manual and the general appearance of the | |
1232 | Emacs display screen. Note which questions are answered in these | |
1233 | chapters, so you can refer back later. After reading chapter 4, you | |
1234 | should practice the commands shown there. The next few chapters | |
1235 | describe fundamental techniques and concepts that are used constantly. | |
1236 | You need to understand them thoroughly, so experiment with them | |
1237 | until you are fluent. | |
1238 | ||
1239 | Chapters 14 through 19 describe intermediate-level features that are | |
1240 | useful for many kinds of editing. Chapter 20 and following chapters | |
1241 | describe optional but useful features; read those chapters when you | |
1242 | need them. | |
1243 | ||
753ad1de GM |
1244 | Read the Common Problems chapter if Emacs does not seem to be |
1245 | working properly. It explains how to cope with several common | |
1246 | problems (@pxref{Lossage}), as well as when and how to report Emacs | |
1247 | bugs (@pxref{Bugs}). | |
8cf51b2c GM |
1248 | |
1249 | To find the documentation of a particular command, look in the index. | |
1250 | Keys (character commands) and command names have separate indexes. | |
1251 | There is also a glossary, with a cross reference for each term. | |
1252 | ||
1253 | This manual is available as a printed book and also as an Info file. | |
753ad1de GM |
1254 | The Info file is for use with the Info program, which is the principal |
1255 | means of accessing on-line documentation in the GNU system. Both the | |
1256 | Emacs Info file and an Info reader are included with GNU Emacs. The | |
1257 | Info file and the printed book contain substantially the same text and | |
1258 | are generated from the same source files, which are also distributed | |
1259 | with GNU Emacs. | |
8cf51b2c GM |
1260 | |
1261 | GNU Emacs is a member of the Emacs editor family. There are many | |
1262 | Emacs editors, all sharing common principles of organization. For | |
1263 | information on the underlying philosophy of Emacs and the lessons | |
1264 | learned from its development, see @cite{Emacs, the Extensible, | |
1265 | Customizable Self-Documenting Display Editor}, available from | |
1266 | @url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}. | |
1267 | ||
1268 | This edition of the manual is intended for use with GNU Emacs | |
7c2fb837 | 1269 | installed on GNU and Unix systems. GNU Emacs can also be used on |
8cf51b2c | 1270 | MS-DOS (also called MS-DOG), Microsoft Windows, and Macintosh systems. |
7c2fb837 DN |
1271 | Those systems use different file name syntax; in addition |
1272 | MS-DOS does not support all GNU Emacs features. @xref{Microsoft | |
8cf51b2c | 1273 | Windows}, for information about using Emacs on Windows. |
6b5a97b2 | 1274 | @xref{Mac OS / GNUstep}, for information about using Emacs on |
753ad1de | 1275 | Macintosh (and GNUstep). |
8cf51b2c GM |
1276 | @end iftex |
1277 | ||
1278 | @node Distrib, Intro, Top, Top | |
1279 | @unnumbered Distribution | |
1280 | ||
1281 | GNU Emacs is @dfn{free software}; this means that everyone is free to | |
1282 | use it and free to redistribute it on certain conditions. GNU Emacs | |
1283 | is not in the public domain; it is copyrighted and there are | |
1284 | restrictions on its distribution, but these restrictions are designed | |
1285 | to permit everything that a good cooperating citizen would want to do. | |
1286 | What is not allowed is to try to prevent others from further sharing | |
1287 | any version of GNU Emacs that they might get from you. The precise | |
1288 | conditions are found in the GNU General Public License that comes with | |
1289 | Emacs and also appears in this manual@footnote{This manual is itself | |
f43a822c KB |
1290 | covered by the GNU Free Documentation License (see the reverse title |
1291 | page in the printed manual or view the full source for online formats | |
1292 | to see the precise conditions). This license is similar in spirit to | |
1293 | the General Public License, but is more suitable for documentation. | |
1294 | @xref{GNU Free Documentation License}.}. @xref{Copying}. | |
8cf51b2c GM |
1295 | |
1296 | One way to get a copy of GNU Emacs is from someone else who has it. | |
1297 | You need not ask for our permission to do so, or tell any one else; | |
1298 | just copy it. If you have access to the Internet, you can get the | |
1299 | latest distribution version of GNU Emacs by anonymous FTP; see | |
1300 | @url{http://www.gnu.org/software/emacs} on our website for more | |
1301 | information. | |
1302 | ||
1303 | You may also receive GNU Emacs when you buy a computer. Computer | |
1304 | manufacturers are free to distribute copies on the same terms that apply to | |
1305 | everyone else. These terms require them to give you the full sources, | |
1306 | including whatever changes they may have made, and to permit you to | |
1307 | redistribute the GNU Emacs received from them under the usual terms of the | |
1308 | General Public License. In other words, the program must be free for you | |
1309 | when you get it, not just free for the manufacturer. | |
1310 | ||
753ad1de | 1311 | @c FIXME no longer true? |
8cf51b2c GM |
1312 | You can also order copies of GNU Emacs from the Free Software |
1313 | Foundation. This is a convenient and reliable way to get a copy; it is | |
1314 | also a good way to help fund our work. We also sell hardcopy versions | |
1315 | of this manual and @cite{An Introduction to Programming in Emacs Lisp}, | |
753ad1de GM |
1316 | by Robert J. Chassell. You can visit our online store at |
1317 | @url{http://shop.fsf.org/}. For further information, | |
8cf51b2c GM |
1318 | write to |
1319 | ||
1320 | @display | |
1321 | Free Software Foundation | |
1322 | 51 Franklin Street, Fifth Floor | |
1323 | Boston, MA 02110-1301 | |
1324 | USA | |
1325 | @end display | |
1326 | ||
753ad1de GM |
1327 | The income from sales goes to support the foundation's purpose: the |
1328 | development of new free software, and improvements to our existing | |
1329 | programs including GNU Emacs. | |
8cf51b2c | 1330 | |
753ad1de | 1331 | @c FIXME you can't order a CD any more. |
8cf51b2c GM |
1332 | If you find GNU Emacs useful, please @strong{send a donation} to the |
1333 | Free Software Foundation to support our work. Donations to the Free | |
1334 | Software Foundation are tax deductible in the US. If you use GNU Emacs | |
1335 | at your workplace, please suggest that the company make a donation. If | |
1336 | company policy is unsympathetic to the idea of donating to charity, you | |
1337 | might instead suggest ordering a CD-ROM from the Foundation | |
1338 | occasionally, or subscribing to periodic updates. | |
1339 | ||
1340 | @iftex | |
1341 | @node Acknowledgments, Intro, Distrib, Top | |
1342 | @unnumberedsec Acknowledgments | |
1343 | ||
1344 | Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas | |
8353da9c GM |
1345 | Abrahamsson, Jay K.@: Adams, Michael Albinus, Nagy Andras, Ralf Angeli, |
1346 | Joe Arceneaux, Miles Bader, David Bakhash, Juanma Barranquero, Eli | |
276bbe96 GM |
1347 | Barzilay, Thomas Baumann, Steven L.@: Baur, Jay Belanger, Alexander L.@: |
1348 | Belikoff, Boaz Ben-Zvi, Karl Berry, Anna M.@: Bigatti, Ray Blaak, Jim | |
1349 | Blandy, Johan Bockg@aa{}rd, Lennart Borgman, Per Bothner, Terrence | |
1350 | Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin Broadey, | |
1351 | Vincent Broman, David M.@: Brown, Georges Brun-Cottan, Joe Buehler, | |
1352 | W@l{}odek Bzyl, Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chong | |
1353 | Yidong, Chris Chase, Bob Chassell, Andrew Choi, Sacha Chua, James Clark, | |
1354 | Mike Clarkson, Glynn Clements, Daniel Colascione, Andrew Csillag, Baoqiu | |
83d60c79 GM |
1355 | Cui, Doug Cutting, Mathias Dahl, Satyaki Das, Vivek Dasmohapatra, |
1356 | Michael DeCorte, Gary Delp, Matthieu Devin, Eri Ding, Jan Dj@"{a}rv, | |
1357 | Carsten Dominik, Scott Draves, Benjamin Drieu, Viktor Dukhovni, Dmitry | |
1358 | Dzhus, John Eaton, Rolf Ebert, Paul Eggert, Stephen Eglen, Torbj@"orn | |
1359 | Einarsson, Tsugutomo Enami, Hans Henrik Eriksen, Michael Ernst, Ata | |
1360 | Etemadi, Frederick Farnbach, Oscar Figueiredo, Fred Fish, Karl Fogel, | |
1361 | Gary Foster, Romain Francoise, Noah Friedman, Andreas Fuchs, Hallvard | |
1362 | Furuseth, Keith Gabryelski, Peter S.@: Galbraith, Kevin Gallagher, Kevin | |
1363 | Gallo, Juan Le@'{o}n Lahoz Garc@'{@dotless{i}}a, Howard Gayle, Daniel | |
1364 | German, Stephen Gildea, Julien Gilles, David Gillespie, Bob Glickstein, | |
1365 | Deepak Goel, Boris Goldowsky, Michelangelo Grigni, Odd Gripenstam, Kai | |
276bbe96 | 1366 | Gro@ss{}johann, Michael Gschwind, Bastien Guerry, Henry Guillaume, Doug |
5cca97ad GM |
1367 | Gwyn, Ken'ichi Handa, Lars Hansen, Chris Hanson, K. Shane Hartman, John |
1368 | Heidemann, Jon K.@: Hellan, Jesper Harder, Magnus Henoch, Markus | |
1369 | Heritsch, Karl Heuer, Manabu Higashida, Anders Holst, Jeffrey C.@: | |
1370 | Honig, Tassilo Horn, Kurt Hornik, Tom Houlder, Joakim Hove, Denis Howe, | |
276bbe96 GM |
1371 | Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Philip Jackson, Pavel |
1372 | Janik, Paul Jarc, Ulf Jasper, Michael K. Johnson, Kyle Jones, Terry | |
1373 | Jones, Simon Josefsson, Arne J@o{}rgensen, Tomoji Kagatani, Brewster | |
1374 | Kahle, Tokuya Kameshima, Lute Kamstra, David Kastrup, David Kaufman, | |
1375 | Henry Kautz, Taichi Kawabata, Howard Kaye, Michael Kifer, Richard King, | |
1376 | Peter Kleiweg, Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, | |
1377 | David M.@: Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian | |
6d98672d GM |
1378 | Kremer, Ryszard Kubiak, David K@aa{}gedal, Daniel LaLiberte, |
1379 | Karl Landstrom, Mario Lang, Aaron Larson, James R.@: Larus, | |
276bbe96 GM |
1380 | Vinicius Jose Latorre, Werner Lemberg, Frederic Lepied, Peter |
1381 | Liljenberg, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link, | |
1382 | Juri Linkov, Francis Litterio, Emilio C. Lopes, K@'{a}roly L@H{o}rentey, | |
1383 | Dave Love, Sascha L@"{u}decke, Eric Ludlam, Alan Mackenzie, Christopher | |
1384 | J.@: Madsen, Neil M.@: Mager, Ken Manheimer, Bill Mann, Brian Marick, | |
1385 | Simon Marshall, Bengt Martensson, Charlie Martin, Thomas May, Roland | |
1386 | McGrath, Will Mengarini, David Megginson, Ben A. Mesander, Wayne Mesard, | |
1387 | Brad Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan | |
1388 | Monnier, Morioka Tomohiko, Keith Moore, Jan Moringen, Glenn Morris, | |
1389 | Diane Murray, Sen Nagata, Erik Naggum, Thomas Neumann, Thien-Thi Nguyen, | |
1390 | Mike Newton, Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff | |
1391 | Norden, Andrew Norman, Alexandre Oliva, Bob Olson, Michael Olson, | |
1392 | Takaaki Ota, Pieter E.@: J.@: Pareit, Ross Patterson, David Pearson, | |
1393 | Jeff Peck, Damon Anton Permezel, Tom Perrine, William M.@: Perry, Per | |
1394 | Persson, Jens Petersen, Daniel Pfeiffer, Richard L.@: Pieri, Fred | |
1395 | Pierresteguy, Christian Plaunt, David Ponce, Francesco A.@: Potorti, | |
1396 | Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin | |
1397 | Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, Alex Rezinsky, | |
1398 | Rob Riepel, David Reitter, Adrian Robert, Nick Roberts, Roland B.@: | |
1399 | Roberts, John Robinson, Danny Roozendaal, Sebastian Rose, William | |
1400 | Rosenblatt, Guillermo J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, | |
1401 | Jason Rumney, Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko | |
1402 | Sato, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph | |
1403 | Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell, Philippe | |
1404 | Schnoebelen, Jan Schormann, Alex Schroeder, Stephen Schoef, Raymond | |
1405 | Scholz, Eric Schulte, Andreas Schwab, Randal Schwartz, Oliver Seidel, | |
1406 | Manuel Serrano, Hovav Shacham, Stanislav Shalunov, Marc Shapiro, Richard | |
1407 | Sharman, Olin Shivers, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris | |
d52dbd3d GM |
1408 | Smith, David Smith, Paul D.@: Smith, William Sommerfeld, Andre Spiegel, |
1409 | Michael Staats, Reiner Steib, Sam Steingold, Ake Stenhoff, | |
1410 | Peter Stephenson, Ken Stevens, Andy Stewart, Jonathan | |
276bbe96 GM |
1411 | Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassman, Olaf |
1412 | Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe Theberge, Jens | |
1413 | T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc Teirlinck, | |
1414 | David O'Toole, Tom Tromey, Enami Tsugutomo, Eli Tziperman, Daiki Ueno, | |
55381962 GM |
1415 | Masanobu Umeda, Rajesh Vaidheeswarran, Neil W.@: Van Dyke, Didier Verna, |
1416 | Joakim Verona, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Inge | |
1417 | Wallin, John Paul Wallington, Colin Walters, Barry Warsaw, Morten | |
1418 | Welinder, Joseph Brian Wells, Rodney Whitby, John Wiegley, Ed Wilkinson, | |
1419 | Mike Williams, Bill Wohler, Steven A. Wood, Dale R.@: Worley, Francis | |
1420 | J.@: Wright, Felix S. T. Wu, Tom Wurgler, Katsumi Yamaoka, Yamamoto | |
1421 | Mitsuharu, Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya | |
1422 | Zakharevich, Milan Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, | |
276bbe96 GM |
1423 | Shenghuo Zhu, Piotr Zielinski, Ian T.@: Zimmermann, Reto Zimmermann, |
1424 | Neal Ziring, Teodor Zlatanov, and Detlev Zundel. | |
8cf51b2c GM |
1425 | @end iftex |
1426 | ||
1427 | @node Intro, Glossary, Distrib, Top | |
1428 | @unnumbered Introduction | |
1429 | ||
1430 | You are reading about GNU Emacs, the GNU incarnation of the | |
1431 | advanced, self-documenting, customizable, extensible editor Emacs. | |
1432 | (The `G' in `GNU' is not silent.) | |
1433 | ||
332b5b9a CY |
1434 | We call Emacs @dfn{advanced} because it can do much more than simple |
1435 | insertion and deletion of text. It can control subprocesses, indent | |
753ad1de | 1436 | programs automatically, show multiple files at once, and more. |
332b5b9a CY |
1437 | Emacs editing commands operate in terms of characters, words, lines, |
1438 | sentences, paragraphs, and pages, as well as expressions and comments | |
1439 | in various programming languages. | |
1440 | ||
1441 | @dfn{Self-documenting} means that at any time you can use special | |
1442 | commands, known as @dfn{help commands}, to find out what your options | |
867d4bb3 | 1443 | are, or to find out what any command does, or to find all the |
332b5b9a CY |
1444 | commands that pertain to a given topic. @xref{Help}. |
1445 | ||
1446 | @dfn{Customizable} means that you can easily alter the behavior of | |
1447 | Emacs commands in simple ways. For instance, if you use a programming | |
1448 | language in which comments start with @samp{<**} and end with | |
1449 | @samp{**>}, you can tell the Emacs comment manipulation commands to | |
1450 | use those strings (@pxref{Comments}). To take another example, you | |
1451 | can rebind the basic cursor motion commands (up, down, left and right) | |
1452 | to any keys on the keyboard that you find comfortable. | |
1453 | @xref{Customization}. | |
8cf51b2c GM |
1454 | |
1455 | @dfn{Extensible} means that you can go beyond simple customization | |
332b5b9a CY |
1456 | and create entirely new commands. New commands are simply programs |
1457 | written in the Lisp language, which are run by Emacs's own Lisp | |
1458 | interpreter. Existing commands can even be redefined in the middle of | |
1459 | an editing session, without having to restart Emacs. Most of the | |
1460 | editing commands in Emacs are written in Lisp; the few exceptions | |
8cf51b2c GM |
1461 | could have been written in Lisp but use C instead for efficiency. |
1462 | Writing an extension is programming, but non-programmers can use it | |
1463 | afterwards. @xref{Top, Emacs Lisp Intro, Preface, eintr, An | |
1464 | Introduction to Programming in Emacs Lisp}, if you want to learn Emacs | |
1465 | Lisp programming. | |
1466 | ||
8cf51b2c GM |
1467 | @include screen.texi |
1468 | @include commands.texi | |
1469 | @include entering.texi | |
1470 | @include basic.texi | |
1471 | @include mini.texi | |
1472 | @include m-x.texi | |
1473 | @include help.texi | |
1474 | @include mark.texi | |
1475 | @include killing.texi | |
1476 | @include regs.texi | |
1477 | @include display.texi | |
1478 | @include search.texi | |
1479 | @include fixit.texi | |
1480 | @include kmacro.texi | |
753ad1de | 1481 | @c Includes arevert-xtra. |
8cf51b2c GM |
1482 | @include files.texi |
1483 | @include buffers.texi | |
1484 | @include windows.texi | |
1485 | @include frames.texi | |
1486 | @include mule.texi | |
1487 | @include major.texi | |
1488 | @include indent.texi | |
1489 | @include text.texi | |
753ad1de | 1490 | @c Includes fortran-xtra. |
8cf51b2c GM |
1491 | @include programs.texi |
1492 | @include building.texi | |
753ad1de | 1493 | @c Includes vc1-xtra, emerge-xtra. |
8cf51b2c GM |
1494 | @include maintaining.texi |
1495 | @include abbrevs.texi | |
1496 | @ifnottex | |
1497 | @include picture-xtra.texi | |
1498 | @end ifnottex | |
1499 | @include sending.texi | |
1500 | @include rmail.texi | |
753ad1de | 1501 | @c Includes dired-xtra. |
8cf51b2c | 1502 | @include dired.texi |
753ad1de | 1503 | @c Includes cal-xtra. |
8cf51b2c GM |
1504 | @include calendar.texi |
1505 | @include misc.texi | |
1506 | @include custom.texi | |
1507 | @include trouble.texi | |
1508 | ||
1509 | @node Copying, GNU Free Documentation License, Service, Top | |
1510 | @appendix GNU GENERAL PUBLIC LICENSE | |
1511 | @include gpl.texi | |
1512 | ||
1513 | @node GNU Free Documentation License, Emacs Invocation, Copying, Top | |
1514 | @appendix GNU Free Documentation License | |
1515 | @include doclicense.texi | |
1516 | ||
1517 | @include cmdargs.texi | |
1518 | @include xresources.texi | |
1519 | ||
1520 | @include anti.texi | |
1521 | @include macos.texi | |
753ad1de | 1522 | @c Includes msdog-xtra. |
8cf51b2c GM |
1523 | @include msdog.texi |
1524 | @include gnu.texi | |
1525 | @include glossary.texi | |
1526 | @ifnottex | |
1527 | @include ack.texi | |
1528 | @end ifnottex | |
1529 | ||
1530 | @c The Option Index is produced only in the on-line version, | |
1531 | @c because the index entries related to command-line options | |
1532 | @c tend to point to the same pages and all begin with a dash. | |
1533 | @c This, and the need to keep the node links consistent, are | |
1534 | @c the reasons for the funky @iftex/@ifnottex dance below. | |
1535 | @c The Option Index is _not_ before Key Index, because that | |
1536 | @c would require changes in the glossary.texi's @node line. | |
1537 | @c It is not after Concept Index for similar reasons. | |
1538 | ||
1539 | @iftex | |
1540 | @node Key Index, Command Index, Glossary, Top | |
1541 | @unnumbered Key (Character) Index | |
1542 | @printindex ky | |
1543 | @end iftex | |
1544 | ||
1545 | @ifnottex | |
1546 | @node Key Index, Option Index, Glossary, Top | |
1547 | @unnumbered Key (Character) Index | |
1548 | @printindex ky | |
1549 | ||
1550 | @node Option Index, Command Index, Key Index, Top | |
1551 | @unnumbered Command-Line Options Index | |
1552 | @printindex op | |
1553 | ||
1554 | @node Command Index, Variable Index, Option Index, Top | |
1555 | @unnumbered Command and Function Index | |
1556 | @printindex fn | |
1557 | @end ifnottex | |
1558 | ||
1559 | @iftex | |
1560 | @node Command Index, Variable Index, Key Index, Top | |
1561 | @unnumbered Command and Function Index | |
1562 | @printindex fn | |
1563 | @end iftex | |
1564 | ||
1565 | @node Variable Index, Concept Index, Command Index, Top | |
1566 | @unnumbered Variable Index | |
1567 | @printindex vr | |
1568 | ||
1569 | @node Concept Index, Acknowledgments, Variable Index, Top | |
1570 | @unnumbered Concept Index | |
1571 | @printindex cp | |
1572 | ||
1573 | @bye | |
1574 | ||
1575 | @ignore | |
1576 | arch-tag: ed48740a-410b-46ea-9387-c9a9252a3392 | |
1577 | @end ignore |