[Top] [Contents] [Index] [ ? ]

GNU Emacs Manual

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, but not how to extend it.

Distribution  How to get the latest Emacs distribution.
GNU GENERAL PUBLIC LICENSE  The GNU General Public License gives you permission to redistribute GNU Emacs on certain terms; and also explains that there is no warranty.
Introduction  An introduction to Emacs concepts.
Glossary  The glossary.
Version 19 Antenews  Changes coming in Emacs version 19, to be released.
The GNU Manifesto  What's GNU? Gnu's Not Unix!

Indexes, nodes containing large menus
Key (Character) Index  An item for each standard Emacs key sequence.
Command and Function Index  An item for each command name.
Variable Index  An item for each documented variable.
Concept Index  An item for each concept.

Important General Concepts
1. The Organization of the Screen  How to interpret what you see on the screen.
1.4 The Emacs Character Set  Emacs's character sets for file contents and for keyboard.
1.5 Keys  Key sequences: what you type to request one editing action.
1.6 Keys and Commands  Commands: named functions run by key sequences to do editing.
2. Entering and Exiting Emacs  Starting Emacs from the shell.
2.2 Command Line Switches and Arguments  Hairy startup options.
2.1 Exiting Emacs  Stopping or killing Emacs.
3. Basic Editing Commands  The most basic editing commands.
4. Undoing Changes  Undoing recently made changes in the text.
5. The Minibuffer  Entering arguments that are prompted for.
6. Running Commands by Name  Invoking commands by their names.
7. Help  Commands for asking Emacs about its commands.

Important Text-Changing Commands
8. The Mark and the Region  The mark: how to delimit a "region" of text.
8.5 Deletion and Killing  Killing text.
8.6 Yanking  Recovering killed text. Moving text.
8.7 Accumulating Text  Other ways of copying text.
8.8 Rectangles  Operating on the text inside a rectangle on the screen.
9. Registers  Saving a text string or a location in the buffer.
10. Controlling the Display  Controlling what text is displayed.
11. Searching and Replacement  Finding or replacing occurrences of a string.
12. Commands for Fixing Typos  Commands especially useful for fixing typos.

Larger Units of Text
13. File Handling  All about handling files.
14. Using Multiple Buffers  Multiple buffers; editing several files at once.
15. Multiple Windows  Viewing two pieces of text at once.

Advanced Features
16. Major Modes  Text mode vs. Lisp mode vs. C mode ...
17. Indentation  Editing the white space at the beginnings of lines.
18. Commands for Human Languages  Commands and modes for editing English.
19. Editing Programs  Commands and modes for editing programs.
20. Compiling and Testing Programs  Compiling, running and debugging programs.
21. Abbrevs  How to define text abbreviations to reduce the number of characters you must type.
22. Editing Pictures  Editing pictures made up of characters using the quarter-plane screen model.
23. Sending Mail  Sending mail in Emacs.
24. Reading Mail with Rmail  Reading mail in Emacs.
24.12 Recursive Editing Levels  A command can allow you to do editing
                 "within the command".  This is called a
                 `recursive editing level'.
24.13 Narrowing  Restricting display and editing to a portion of the buffer.
24.14 Sorting Text  Sorting lines, paragraphs or pages within Emacs.
24.15 Running Shell Commands from Emacs  Executing shell commands from Emacs.
24.16 Hardcopy Output  Printing buffers or regions.
24.17 Dissociated Press  Dissociating text for fun.
24.18 Other Amusements  Various games and hacks.
24.19 Emulation  Emulating some other editors with Emacs.
25. Customization  Modifying the behavior of Emacs.

Recovery from Problems.
25.7 Quitting and Aborting  Quitting and aborting.
25.8 Dealing with Emacs Trouble  What to do if Emacs is hung or malfunctioning.
25.9 Reporting Bugs  How and when to report a bug.

Here are some other nodes which are really inferiors of the ones
already listed, mentioned here so you can get to them in one step:

Subnodes of Screen
1.1 Point  The place in the text where editing commands operate.
1.2 The Echo Area  Short messages appear at the bottom of the screen.
1.3 The Mode Line  Interpreting the mode line.

Subnodes of Basic
3.6 Blank Lines  Commands to make or delete blank lines.
3.7 Continuation Lines  Lines too wide for the screen.
3.8 Cursor Position Information  What page, line, row, or column is point on?
3.9 Numeric Arguments  Giving numeric arguments to commands.

Subnodes of Minibuffer
5.1 Minibuffers for File Names  Entering file names with the minibuffer.
5.2 Editing in the Minibuffer  How to edit in the minibuffer.
5.3 Completion  An abbreviation facility for minibuffer input.
5.4 Repeating Minibuffer Commands  Re-executing previous commands that used the minibuffer.

Subnodes of Mark
8.1 Setting the Mark  Commands to set the mark.
8.2 Operating on the Region  Summary of ways to operate on contents of the region.
8.3 Commands to Mark Textual Objects  Commands to put region around textual units.
8.4 The Mark Ring  Previous mark positions saved so you can go back there.

Subnodes of Yanking
8.6.1 The Kill Ring  Where killed text is stored. Basic yanking.
8.6.2 Appending Kills  Several kills in a row all yank together.
8.6.3 Yanking Earlier Kills  Yanking something killed some time ago.

Subnodes of Registers
9.1 Saving Positions in Registers  Saving positions in registers.
9.2 Saving Text in Registers  Saving text in registers.
9.3 Saving Rectangles in Registers  Saving rectangles in registers.

Subnodes of Display
10.1 Scrolling  Moving text up and down in a window.
10.2 Horizontal Scrolling  Moving text left and right in a window.
10.3 Selective Display  Hiding lines with lots of indentation.
10.4 Variables Controlling Display  Information on variables for customizing display.

Subnodes of Search
11.1 Incremental Search  Search happens as you type the string.
11.2 Nonincremental Search  Specify entire string and then search.
11.3 Word Search  Search for sequence of words.
11.4 Regular Expression Search  Search for match for a regexp.
11.5 Syntax of Regular Expressions  Syntax of regular expressions.
11.6 Searching and Case  To ignore case while searching, or not.
11.7 Replacement Commands  Search, and replace some or all matches.
11.7.1 Unconditional Replacement  Everything about replacement except for querying.
11.7.4 Query Replace  How to use querying.
11.8 Other Search-and-Loop Commands  Operating on all matches for some regexp.

Subnodes of Fixit
12.1 Killing Your Mistakes  Commands to kill a batch of recently entered text.
12.2 Transposing Text  Exchanging two characters, words, lines, lists...
12.3 Case Conversion  Correcting case of last word entered.
12.4 Checking and Correcting Spelling  Apply spelling checker to a word, or a whole file.

Subnodes of Files
13.1 File Names  How to type and edit file name arguments.
13.2 Visiting Files  Visiting a file prepares Emacs to edit the file.
13.3 Saving Files  Saving makes your changes permanent.
13.3.1 Backup Files  How Emacs saves the old version of your file.
13.3.2 Protection against Simultaneous Editing  How Emacs protects against simultaneous editing of one file by two users.
13.4 Reverting a Buffer  Reverting cancels all the changes not saved.
13.5 Auto-Saving: Protection Against Disasters  Auto Save periodically protects against loss of data.
13.6 Listing a File Directory  Listing the contents of a file directory.
13.7 Dired, the Directory Editor  "Editing" a directory to delete, rename, etc. the files in it.
13.8 Miscellaneous File Operations  Other things you can do on files.

Subnodes of Buffers
14.1 Creating and Selecting Buffers  Creating a new buffer or reselecting an old one.
14.2 Listing Existing Buffers  Getting a list of buffers that exist.
14.3 Miscellaneous Buffer Operations  Renaming; changing read-only status.
14.4 Killing Buffers  Killing buffers you no longer need.
14.5 Operating on Several Buffers  How to go through the list of all buffers and operate variously on several of them.

Subnodes of Windows
15.1 Concepts of Emacs Windows  Introduction to Emacs windows.
15.2 Splitting Windows  New windows are made by splitting existing windows.
15.3 Using Other Windows  Moving to another window or doing something to it.
15.4 Displaying in Another Window  Finding a file or buffer in another window.
15.5 Deleting and Rearranging Windows  Deleting windows and changing their sizes.

Subnodes of Indentation
17.1 Indentation Commands and Techniques  Various commands and techniques for indentation.
17.2 Tab Stops  You can set arbitrary "tab stops" and then indent to the next tab stop when you want to.
17.3 Tabs vs. Spaces  You can request indentation using just spaces.

Subnodes of Text
18.1 Text Mode  The major mode for editing text files.
18.1.1 Nroff Mode  The major mode for editing input to the formatter nroff.
18.1.2 TeX Mode  The major mode for editing input to the formatter TeX.
18.1.3 Texinfo Mode  The major mode for editing input to the formatter Texinfo.
18.1.4 Outline Mode  The major mode for editing outlines.
18.2 Words  Moving over and killing words.
18.3 Sentences  Moving over and killing sentences.
18.4 Paragraphs  Moving over paragraphs.
18.5 Pages  Moving over pages.
18.6 Filling Text  Filling or justifying text
18.7 Case Conversion Commands  Changing the case of text

Subnodes of Programs
19.1 Major Modes for Programming Languages  Major modes for editing programs.
19.2 Lists and Sexps  Expressions with balanced parentheses. There are editing commands to operate on them.
19.3 Defuns  Each program is made up of separate functions. There are editing commands to operate on them.
19.4 Indentation for Programs  Adjusting indentation to show the nesting.
19.5 Automatic Display Of Matching Parentheses  Insertion of a close-delimiter flashes matching open.
19.6 Manipulating Comments  Inserting, killing and aligning comments.
19.8 Editing Without Unbalanced Parentheses  Inserting two matching parentheses at once, etc.
19.9 Completion for Lisp Symbols  Completion on symbol names in Lisp code.
19.10 Documentation Commands  Getting documentation of functions you plan to call.
19.11 Change Logs  Maintaining a change history for your program.
19.12 Tag Tables  Go direct to any function in your program in one command. Tags remembers which file it is in.
19.13 Fortran Mode  Fortran mode and its special features.

Subnodes of Compiling/Testing
20.1 Running `make', or Compilers Generally  Compiling programs in languages other than Lisp
                       (C, Pascal, etc.)
20.2 Major Modes for Lisp  Various modes for editing Lisp programs, with different facilities for running the Lisp programs.
20.3 Libraries of Lisp Code for Emacs  Creating Lisp programs to run in Emacs.
20.6 Lisp Interaction Buffers  Executing Lisp in an Emacs buffer.
20.4 Evaluating Emacs-Lisp Expressions  Executing a single Lisp expression in Emacs.
20.5 The Emacs-Lisp Debugger  Debugging Lisp programs running in Emacs.
20.7 Running an External Lisp  Communicating through Emacs with a separate Lisp.

Subnodes of Abbrevs
21.1 Defining Abbrevs  Defining an abbrev, so it will expand when typed.
21.2 Controlling Abbrev Expansion  Controlling expansion: prefixes, canceling expansion.
21.3 Examining and Editing Abbrevs  Viewing or editing the entire list of defined abbrevs.
21.4 Saving Abbrevs  Saving the entire list of abbrevs for another session.
21.5 Dynamic Abbrev Expansion  Abbreviations for words already in the buffer.

Subnodes of Picture
22.1 Basic Editing in Picture Mode  Basic concepts and simple commands of Picture mode.
22.2 Controlling Motion after Insert  Controlling direction of cursor motion after "self-inserting" characters.
22.3 Picture Mode Tabs  Various features for tab stops and indentation.
22.4 Picture Mode Rectangle Commands  Clearing and superimposing rectangles.

Subnodes of Sending Mail
23.1 The Format of the Mail Buffer  Format of the mail being composed.
23.2 Mail Header Fields  Details of allowed mail header fields.
23.3 Mail Mode  Special commands for editing mail being composed.

Subnodes of Rmail
24.1 Scrolling Within a Message  Scrolling through a message.
24.2 Moving Among Messages  Moving to another message.
24.3 Deleting Messages  Deleting and expunging messages.
24.4 Rmail Files and Inboxes  How mail gets into the Rmail file.
24.5 Multiple Mail Files  Using multiple Rmail files.
24.6 Copying Messages Out to Files  Copying message out to files.
24.7 Labels  Classifying messages by labeling them.
24.8 Summaries  Summaries show brief info on many messages.
24.9 Sending Replies  Sending replies to messages you are viewing.
24.10 Editing Within a Message  Editing message text and headers in Rmail.
24.11 Digest Messages  Extracting the messages from a digest message.

Subnodes of Shell
24.15.1 Single Shell Commands  Commands to run one shell command and return.
24.15.2 Interactive Inferior Shell  Permanent shell taking input via Emacs.
24.15.3 Shell Mode  Special Emacs commands used with permanent shell.

Subnodes of Customization
25.1 Minor Modes  Each minor mode is one feature you can turn on independently of any others.
25.2 Variables  Many Emacs commands examine Emacs variables to decide what to do; by setting variables, you can control their functioning.
25.2.1 Examining and Setting Variables  Examining or setting one variable's value.
25.2.2 Editing Variable Values  Examining or editing list of all variables' values.
25.2.3 Local Variables  Per-buffer values of variables.
25.2.4 Local Variables in Files  How files can specify variable values.
25.3 Keyboard Macros  A keyboard macro records a sequence of keystrokes to be replayed with a single command.
25.4 Customizing Key Bindings  The keymaps say what command each key runs. By changing them, you can "redefine keys".
25.4.1 Keymaps  Definition of the keymap data structure.
25.4.2 Changing Key Bindings Interactively  How to redefine one key's meaning conveniently.
25.4.3 Disabling Commands  Disabling a command means confirmation is required before it can be executed. This is done to protect beginners from surprises.
25.5 The Syntax Table  The syntax table controls how words and expressions are parsed.
25.6 The Init File, .emacs  How to write common customizations in the `.emacs' file.

Subnodes of Lossage (and recovery)
25.8.1 Recursive Editing Levels  `[...]' in mode line around the parentheses.
25.8.2 Garbage on the Screen  Garbage on the screen.
25.8.3 Garbage in the Text  Garbage in the text.
25.8.4 Spontaneous Entry to Incremental Search  Spontaneous entry to incremental search.
25.8.5 Emergency Escape  Emergency escape--- What to do if Emacs stops responding.
25.8.6 Help for Total Frustration  When you are at your wits' end.



This document was generated by GNU software owner on June, 11 2000 using texi2html