Emacs is the extensible, customizable, self-documenting real-time
display editor. This Info file describes how to edit with Emacs and
-some of how to customize it; it corresponds to GNU Emacs version
+some of the ways to customize it; it corresponds to GNU Emacs version
@value{EMACSVER}.
@ifinfo
-To learn more about the Info documentation system, type @kbd{h},
-to visit a programmed instruction sequence for the Info commands.
+If you are reading this in Emacs, type @kbd{h} to read a basic
+introduction to the Info documentation system.
@end ifinfo
For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The
@insertcopying
@end ifnottex
+@c Note that the TeX version generates its own TOC, so the ifnottex's
+@c here are not really necessary.
@menu
* Distrib:: How to get the latest Emacs distribution.
* Intro:: An introduction to Emacs concepts.
Important Text-Changing Commands
* Mark:: The mark: how to delimit a "region" of text.
-* Killing:: Killing (cutting) text.
-* Yanking:: Recovering killed text. Moving text. (Pasting.)
-* Cut and Paste:: Clipboard and selections on graphical displays.
-* Accumulating Text:: Other ways of copying text.
-* Rectangles:: Operating on text in rectangular areas.
-* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank.
+* Killing:: Killing (cutting) and yanking (copying) text.
* Registers:: Saving a text string or a location in the buffer.
* Display:: Controlling what text is displayed.
* Search:: Finding or replacing occurrences of a string.
Major Structures of Emacs
* Files:: All about handling files.
* Buffers:: Multiple buffers; editing several files at once.
-* Windows:: Viewing two pieces of text at once.
-* Frames:: Running the same Emacs session in multiple X windows.
+* Windows:: Viewing multiple pieces of text in one frame.
+* Frames:: Using multiple ``windows'' on your display.
* International:: Using non-@acronym{ASCII} character sets.
Advanced Features
* Programs:: Commands and modes for editing programs.
* Building:: Compiling, running and debugging programs.
* Maintaining:: Features for maintaining large programs.
-* Abbrevs:: Defining text abbreviations to reduce
- the number of characters you must type.
+* Abbrevs:: Defining text abbreviations to reduce typing.
* Dired:: Directory and file manager.
* Calendar/Diary:: Calendar and diary facilities.
* Sending Mail:: Sending mail in Emacs.
@ifnottex
* Picture Mode:: Editing pictures made up of text characters.
@end ifnottex
-* Editing Binary Files:: Editing binary files with Hexl mode.
+* Editing Binary Files:: Editing binary files with Hexl mode.
* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
* Recursive Edit:: Performing edits while "within another command".
* Emulation:: Emulating some other editors with Emacs.
Killing and Moving Text
+* Deletion and Killing:: Commands that remove text.
+* Yanking:: Recovering killed text. Moving text. (Pasting.)
+* Cut and Paste:: Clipboard and selections on graphical displays.
+* Accumulating Text:: Other ways of copying text.
+* Rectangles:: Operating on text in rectangular areas.
+* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank.
+
+Deletion and Killing
+
* Deletion:: Commands for deleting small amounts of text and
blank areas.
* Killing by Lines:: How to kill entire lines of text at one time.
* Highlight Interactively:: Tell Emacs what text to highlight.
* Fringes:: Enabling or disabling window fringes.
* Displaying Boundaries:: Displaying top and bottom of the buffer.
-* Useless Whitespace:: Showing possibly-spurious trailing whitespace.
+* Useless Whitespace:: Showing possibly spurious trailing whitespace.
* Selective Display:: Hiding lines with lots of indentation.
* Optional Mode Line:: Optional mode line display features.
* Text Display:: How text characters are normally displayed.
* Basic Keyboard Macro:: Defining and running keyboard macros.
* Keyboard Macro Ring:: Where previous keyboard macros are saved.
* Keyboard Macro Counter:: Inserting incrementing numbers in macros.
-* Keyboard Macro Query:: Making keyboard macros do different things each time.
-* Save Keyboard Macro:: Giving keyboard macros names; saving them in files.
+* Keyboard Macro Query:: Making keyboard macros do different things each
+ time.
+* Save Keyboard Macro:: Giving keyboard macros names; saving them in
+ files.
* Edit Keyboard Macro:: Editing keyboard macros.
* Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
macro.
* Visiting:: Visiting a file prepares Emacs to edit the file.
* Saving:: Saving makes your changes permanent.
* Reverting:: Reverting cancels all the changes not saved.
+@ifnottex
* Autorevert:: Auto Reverting non-file buffers.
+@end ifnottex
* Auto Save:: Auto Save periodically protects against loss of data.
* File Aliases:: Handling multiple names for one file.
* Directories:: Creating, deleting, and listing file directories.
* Misc File Ops:: Other things you can do on files.
* Compressed Files:: Accessing compressed files.
* File Archives:: Operating on tar, zip, jar etc. archive files.
-* Remote Files:: Accessing files on other sites.
+* Remote Files:: Accessing files on other machines.
* Quoted File Names:: Quoting special characters in file names.
* File Name Cache:: Completion against a list of files you often use.
* File Conveniences:: Convenience Features for Finding Files.
* Backup Deletion:: Emacs deletes excess numbered backups.
* Backup Copying:: Backups can be made by copying or renaming.
+@ifnottex
Auto Reverting Non-File Buffers
* Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu.
* Auto Reverting Dired:: Auto Revert of Dired buffers.
* Supporting additional buffers:: How to add more Auto Revert support.
+@end ifnottex
Auto-Saving: Protection Against Disasters
* Displaying Buffers:: How Emacs picks a window for displaying a buffer.
* Window Convenience:: Convenience functions for window handling.
+Displaying Buffers
+
+* Window Choice:: How @code{display-buffer} works.
+
Frames and Graphical Displays
* Mouse Commands:: Moving, cutting, and pasting, with the mouse.
* Frame Commands:: Iconifying, deleting, and switching frames.
* Fonts:: Changing the frame font.
* Speedbar:: How to make and use a speedbar frame.
-* Multiple Displays:: How one Emacs job can talk to several displays.
+* Multiple Displays:: How one Emacs instance can talk to several displays.
* Frame Parameters:: Changing the colors and other modes of frames.
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
* Drag and Drop:: Using drag and drop to open files and insert text.
* Unibyte Mode:: You can pick one European character set
to use without multibyte characters.
* Charsets:: How Emacs groups its internal character codes.
+* Bidirectional Editing:: Support for right-to-left scripts.
Modes
* Text Mode:: The major modes for editing text files.
* Outline Mode:: Editing outlines.
* Org Mode:: The Emacs organizer.
-* TeX Mode:: Editing input to the formatter TeX.
+* TeX Mode:: Editing TeX and LaTeX files.
* HTML Mode:: Editing HTML and SGML files.
-* Nroff Mode:: Editing input to the formatter nroff.
+* Nroff Mode:: Editing input to the nroff formatter.
* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc.
* Text Based Tables:: Commands for editing text-based tables.
* Two-Column:: Splitting text columns into separate windows.
Outline Mode
* Outline Format:: What the text of an outline looks like.
-* Outline Motion:: Special commands for moving through
- outlines.
+* Outline Motion:: Special commands for moving through outlines.
* Outline Visibility:: Commands to control what is visible.
* Outline Views:: Outlines and multiple views.
* Foldout:: Folding means zooming in on outlines.
+Org Mode
+
+* Org Organizer:: Managing TODO lists and agendas.
+* Org Authoring:: Exporting Org buffers to various formats.
+
@TeX{} Mode
* TeX Editing:: Special commands for editing in TeX mode.
* Semantic:: Suite of editing tools based on source code parsing.
* Misc for Programs:: Other Emacs features useful for editing programs.
* C Modes:: Special commands of C, C++, Objective-C,
- Java, and Pike modes.
+ Java, IDL, Pike and AWK modes.
* Asm Mode:: Asm mode and its special features.
+@ifnottex
* Fortran:: Fortran mode and its special features.
+@end ifnottex
Top-Level Definitions, or Defuns
Documentation Lookup
-* Info Lookup:: Looking up library functions and commands
- in Info files.
-* Man Page:: Looking up man pages of library functions and commands.
-* Lisp Doc:: Looking up Emacs Lisp functions, etc.
+* Info Lookup:: Looking up library functions and commands in Info files.
+* Man Page:: Looking up man pages of library functions and commands.
+* Lisp Doc:: Looking up Emacs Lisp functions, etc.
C and Related Modes
* Other C Commands:: Filling comments, viewing expansion of macros,
and other neat features.
+@ifnottex
Fortran Mode
* Fortran Motion:: Moving point by statements or subprograms.
* ForIndent Num:: How line numbers auto-indent.
* ForIndent Conv:: Conventions you must obey to avoid trouble.
* ForIndent Vars:: Variables controlling Fortran indent style.
+@end ifnottex
Compiling and Testing Programs
* Commands of GUD:: Key bindings for common commands.
* GUD Customization:: Defining your own commands for GUD.
* GDB Graphical Interface:: An enhanced mode that uses GDB features to
- implement a graphical debugging environment through
- Emacs.
+ implement a graphical debugging environment.
GDB Graphical Interface
* Tags:: Go directly to any function in your program in one
command. Tags remembers which file it is in.
* EDE:: An integrated development environment for Emacs.
+@ifnottex
* Emerge:: A convenient way of merging two versions of a program.
+@end ifnottex
Version Control
* VC Undo:: Canceling changes before or after committing.
* VC Directory Mode:: Listing files managed by version control.
* Branches:: Multiple lines of development.
-* Revision Tags:: Symbolic names for revisions.
+@ifnottex
* Miscellaneous VC:: Various other commands and features of VC.
* Customizing VC:: Variables that change VC's behavior.
+@end ifnottex
Introduction to Version Control
* Merging:: Transferring changes between branches.
* Creating Branches:: How to start a new branch.
+@ifnottex
Miscellaneous Commands and Features of VC
* Change Logs and VC:: Generating a change log file from log entries.
* General VC Options:: Options that apply to multiple back ends.
* RCS and SCCS:: Options for RCS and SCCS.
* CVS Options:: Options for CVS.
+@end ifnottex
Change Logs
* Tags Search:: Using a tags table for searching and replacing.
* List Tags:: Listing and finding tags defined in a file.
+@ifnottex
Merging Files with Emerge
* Overview of Emerge:: How to start Emerge. Basic concepts.
* Exiting Emerge:: What to do when you've finished the merge.
* Combining in Emerge:: How to keep both alternatives for a difference.
* Fine Points of Emerge:: Miscellaneous issues.
+@end ifnottex
Abbrevs
* Transforming File Names:: Using patterns to rename multiple files.
* Comparison in Dired:: Running `diff' by way of Dired.
* Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
+@ifnottex
* Subdir Switches:: Subdirectory switches in Dired.
+@end ifnottex
* Subdirectory Motion:: Moving across subdirectories, and up and down.
* Hiding Subdirectories:: Making subdirectories visible or invisible.
* Dired Updating:: Discarding lines for files of no interest.
* Diary:: Displaying events from your diary.
* Appointments:: Reminders when it's time to do something.
* Importing Diary:: Converting diary events to/from other formats.
-* Daylight Saving:: How to specify when daylight saving time is active.
+* Daylight Saving:: How to specify when daylight saving time is active.
* Time Intervals:: Keeping track of time intervals.
+@ifnottex
* Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization.
+@end ifnottex
Movement in the Calendar
* Adding to Diary:: Commands to create diary entries.
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
+@ifnottex
Customizing the Calendar and Diary
* Calendar Customizing:: Calendar layout and hooks.
* Diary Display:: A choice of ways to display the diary.
* Fancy Diary Display:: Sorting diary entries, using included diary files.
* Sexp Diary Entries:: More flexible diary entries.
+@end ifnottex
Document Viewing
Rmail Summaries
-* Rmail Make Summary:: Making various sorts of summaries.
-* Rmail Summary Edit:: Manipulating messages from the summary.
+* Rmail Make Summary:: Making various sorts of summaries.
+* Rmail Summary Edit:: Manipulating messages from the summary.
Gnus
* Windows Printing:: How to specify the printer on MS-Windows.
* Windows Fonts:: Specifying fonts on MS-Windows.
* Windows Misc:: Miscellaneous Windows features.
-* MS-DOS:: Using Emacs on MS-DOS (otherwise known as @dfn{MS-DOG}).
+@ifnottex
+* MS-DOS:: Using Emacs on MS-DOS.
Emacs and MS-DOS
* MS-DOS Printing:: Printing specifics on MS-DOS.
* MS-DOS and MULE:: Support for internationalization on MS-DOS.
* MS-DOS Processes:: Running subprocesses on MS-DOS.
+@end ifnottex
@end detailmenu
@end menu
the integrated, learn-by-doing tutorial, before reading the manual. To
run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial
describes commands, tells you when to try them, and explains the
-results.
+results. The tutorial is available in several languages.
On first reading, just skim chapters 1 and 2, which describe the
notational conventions of the manual and the general appearance of the
Read the Common Problems chapter if Emacs does not seem to be
working properly. It explains how to cope with several common
-problems (@pxref{Lossage}), as well as when and how to report Emacs
-bugs (@pxref{Bugs}).
+problems (@pxref{Lossage,, Dealing with Emacs Trouble}), as well as
+when and how to report Emacs bugs (@pxref{Bugs}).
To find the documentation of a particular command, look in the index.
Keys (character commands) and command names have separate indexes.
There is also a glossary, with a cross reference for each term.
This manual is available as a printed book and also as an Info file.
-The Info file is for use with the Info program, which is the principal
-means of accessing on-line documentation in the GNU system. Both the
-Emacs Info file and an Info reader are included with GNU Emacs. The
-Info file and the printed book contain substantially the same text and
-are generated from the same source files, which are also distributed
-with GNU Emacs.
+The Info file is for reading from Emacs itself, or with the Info program.
+Info is the principal format for documentation in the GNU system.
+The Info file and the printed book contain substantially the same text
+and are generated from the same source files, which are also
+distributed with GNU Emacs.
GNU Emacs is a member of the Emacs editor family. There are many
Emacs editors, all sharing common principles of organization. For
Customizable Self-Documenting Display Editor}, available from
@url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}.
-This edition of the manual is intended for use with GNU Emacs
+This version of the manual is mainly intended for use with GNU Emacs
installed on GNU and Unix systems. GNU Emacs can also be used on
-MS-DOS (also called MS-DOG), Microsoft Windows, and Macintosh systems.
-Those systems use different file name syntax; in addition
-MS-DOS does not support all GNU Emacs features. @xref{Microsoft
-Windows}, for information about using Emacs on Windows.
-@xref{Mac OS / GNUstep}, for information about using Emacs on
-Macintosh (and GNUstep).
+MS-DOS, Microsoft Windows, and Macintosh systems. The Info file
+version of this manual contains some more information about using
+Emacs on those systems. Those systems use different file name syntax;
+in addition MS-DOS does not support all GNU Emacs features.
+@xref{Microsoft Windows}, for information about using Emacs on
+Windows. @xref{Mac OS / GNUstep}, for information about using Emacs
+on Macintosh (and GNUstep).
@end iftex
@node Distrib, Intro, Top, Top