Next: License Up: (dir)

   The Emacs Editor ****************

   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.  It corresponds
to Lucid GNU Emacs version 19.10.

* License
The GNU General Public License gives you permission to redistribute GNU Emacs on certain terms; and also explains that there is no warranty.
* Distrib
How to get Emacs.
* Intro
An introduction to Emacs concepts.
* Glossary
The glossary.
* Manifesto
What's GNU? Gnu's Not Unix!
Indices, nodes containing large menus
* Key Index
An item for each standard Emacs key sequence.
* Command 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
* Screen
How to interpret what you see on the screen.
* Keystrokes
Keyboard gestures Emacs recognizes.
* Pull-down Menus
The Lucid Emacs Pull-down Menus available under X.
* Entering Emacs
Starting Emacs from the shell.
* Exiting
Stopping or killing Emacs.
* Command Switches
Hairy startup options.
Fundamental Editing Commands
* Basic
The most basic editing commands.
* Undo
Undoing recently made changes in the text.
* Minibuffer
Entering arguments that are prompted for.
* M-x
Invoking commands by their names.
* Help
Commands for asking Emacs about its commands.
Important Text-Changing Commands
* Mark
The mark: how to delimit a "region" of text.
* Mouse Selection
Selecting text with the mouse.
* Additional Mouse Operations
Other operations available from the mouse.
* Killing
Killing text.
* Yanking
Recovering killed text. Moving text.
* Using X Selections
Using primary selection, cut buffers, and highlighted regions.
* Accumulating Text
Other ways of copying text.
* Rectangles
Operating on the text inside a rectangle on the screen.
* 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.
* Fixit
Commands especially useful for fixing typos.
Larger Units of Text
* Files
All about handling files.
* Buffers
Multiple buffers; editing several files at once.
* Windows
Viewing two pieces of text at once.
Advanced Features
* Major Modes
Text mode vs. Lisp mode vs. C mode ...
* Indentation
Editing the white space at the beginnings of lines.
* Text
Commands and modes for editing English.
* Programs
Commands and modes for editing programs.
* Running
Compiling, running and debugging programs.
* Abbrevs
How to define text abbreviations to reduce the number of characters you must type.
* Picture
Editing pictures made up of characters using the quarter-plane screen model.
* Sending Mail
Sending mail in Emacs.
* Rmail
Reading mail in Emacs.
* Calendar/Diary
The calendar and diary facilities.
* Sorting
Sorting lines, paragraphs or pages within Emacs.
* Shell
Executing shell commands from Emacs.
* Narrowing
Restricting display and editing to a portion of the buffer.
* Hardcopy
Printing buffers or regions.
* Recursive Edit
A command can allow you to do editing "within the command". This is called a `recursive editing level'.
* Dissociated Press
Dissociating text for fun.
A different kind of dissociation.
* Amusements
Various games and hacks.
* Emulation
Emulating some other editors with Emacs.
* Customization
Modifying the behavior of Emacs.
Recovery from Problems.
* Quitting
Quitting and aborting.
* Lossage
What to do if Emacs is hung or malfunctioning.
* 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:

 -- The Detailed Node Listing --

The Organization of the Screen

* Point
The place in the text where editing commands operate.
* Echo Area
Short messages appear at the bottom of the screen.
* Mode Line
Interpreting the mode line.
* Emacs under X
Some information on using Emacs under the X Window System.

* Intro to Keystrokes
Keystrokes as building blocks of key sequences.
* Representing Keystrokes
Using lists of modifiers and keysyms to represent keystrokes.
* Key Sequences
Combine key strokes into key sequences you can bind to commands.
* String Key Sequences
Available for upward compatibility.
* Meta Key
Using ESC to represent Meta
* Super and Hyper Keys
Adding modifier keys on certain keyboards.
* Character Representation
How characters appear in Emacs buffers.
* Commands
How commands are bound to key sequences.
Pull-down Menus

* File Menu
Items on the File menu.
* Edit Menu
Items on the Edit menu.
* Buffers Menu
Information about the Buffers menu
* Help Menu
Items on the Help menu.
* Menu Customization
Adding and removing menu items and related operations.
Basic Editing Commands

* Blank Lines
Commands to make or delete blank lines.
* Continuation Lines
Lines too wide for the screen.
* Position Info
What page, line, row, or column is point on?
* Arguments
Numeric arguments for repeating a command.
The Minibuffer

* File
Minibuffer FileEntering file names with the minibuffer.
* Edit
Minibuffer EditHow to edit in the minibuffer.
* Completion
An abbreviation facility for minibuffer input.
* Repetition
Re-executing commands that used the minibuffer.
The Mark and the Region

* Setting Mark
Commands to set the mark.
* Using Region
Summary of ways to operate on contents of the region.
* Marking Objects
Commands to put region around textual units.
* Mark Ring
Previous mark positions saved so you can go back there.

* Kill Ring
Where killed text is stored. Basic yanking.
* Appending Kills
Several kills in a row all yank together.
* Earlier Kills
Yanking something killed some time ago.
Using X Selections

* X Clipboard Selection
Pasting to the X clipboard.
* X Selection Commands
Other operations on the selection.
* X Cut Buffers
X cut buffers are available for compatibility.
* Active Regions
Using zmacs-style highlighting of the selected region.

* RegPos
Saving positions in registers.
* RegText
Saving text in registers.
* RegRect
Saving rectangles in registers.
Controlling the Display

* Scrolling
Moving text up and down in a window.
* Horizontal Scrolling
Moving text left and right in a window.
* Selective Display
Hiding lines with lots of indentation.
* Display Vars
Information on variables for customizing display.
Searching and Replacement

* Incremental Search
Search happens as you type the string.
* Non-Incremental Search
Specify entire string and then search.
* Word Search
Search for sequence of words.
* Regexp Search
Search for match for a regexp.
* Regexps
Syntax of regular expressions.
* Search Case
To ignore case while searching, or not.
* Replace
Search, and replace some or all matches.
* Other Repeating Search
Operating on all matches for some regexp.
Replacement Commands

* Unconditional Replace
Replacing all matches for a string.
* Regexp Replace
Replacing all matches for a regexp.
* Replacement and Case
How replacements preserve case of letters.
* Query Replace
How to use querying.
Commands for Fixing Typos

* Kill Errors
Commands to kill a batch of recently entered text.
* Transpose
Exchanging two characters, words, lines, lists...
* Fixing Case
Correcting case of last word entered.
* Spelling
Apply spelling checker to a word, or a whole file.
File Handling

* File Names
How to type and edit file name arguments.
* Visiting
Visiting a file prepares Emacs to edit the file.
* Saving
Saving makes your changes permanent.
* Reverting
Reverting cancels all the changes not saved.
* Auto Save
Auto Save periodically protects against loss of data.
* ListDir
Listing the contents of a file directory.
* Dired
"Editing" a directory to delete, rename, etc. the files in it.
* Misc File Ops
Other things you can do on files.
Saving Files

* Backup
How Emacs saves the old version of your file.
* Interlocking
How Emacs protects against simultaneous editing of one file by two users.
Backup Files

* Names
Backup NamesHow backup files are named; Choosing single or numbered backup files.
* Deletion
Backup DeletionEmacs deletes excess numbered backups.
* Copying
Backup CopyingBackups can be made by copying or renaming.
Auto-Saving: Protection Against Disasters

* Files
Auto Save Files
* Control
Auto Save Control
* Recover
Recovering text from auto-save files.
Dired, the Directory Editor

* Enter
Dired EnterHow to invoke Dired.
* Edit
Dired EditEditing the Dired buffer.
* Deletion
Dired DeletionDeleting files with Dired.
* Immed
Dired ImmedOther file operations through Dired.
Using Multiple Buffers

* Select Buffer
Creating a new buffer or reselecting an old one.
* List Buffers
Getting a list of buffers that exist.
* Misc Buffer
Renaming; changing read-onliness; copying text.
* Kill Buffer
Killing buffers you no longer need.
* Several Buffers
How to go through the list of all buffers and operate variously on several of them.
Multiple Windows

* Basic Window
Introduction to Emacs windows.
* Split Window
New windows are made by splitting existing windows.
* Other Window
Moving to another window or doing something to it.
* Pop Up Window
Finding a file or buffer in another window.
* Change Window
Deleting windows and changing their sizes.
Major Modes

* Choosing Modes
How major modes are specified or chosen.

* Indentation Commands
Various commands and techniques for indentation.
* Tab Stops
You can set arbitrary "tab stops" and then indent to the next tab stop when you want to.
* Just Spaces
You can request indentation using just spaces.
Commands for Human Languages

* Text Mode
The major modes for editing text files.
* Nroff Mode
The major mode for editing input to the formatter nroff.
* TeX Mode
The major modes for editing input to the formatter TeX.
* Outline Mode
The major mode for editing outlines.
* Words
Moving over and killing words.
* Sentences
Moving over and killing sentences.
* Paragraphs
Moving over paragraphs.
* Pages
Moving over pages.
* Filling
Filling or justifying text
* Case
Changing the case of text
TeX Mode

* Editing
TeX EditingSpecial commands for editing in TeX mode.
* Printing
TeX PrintCommands for printing part of a file with TeX.
Outline Mode

* Format
Outline FormatWhat the text of an outline looks like.
* Motion
Outline MotionSpecial commands for moving through outlines.
* Visibility
Outline VisibilityCommands to control what is visible.
Filling Text

* Auto Fill
Auto Fill mode breaks long lines automatically.
* Fill Commands
Commands to refill paragraphs and center lines.
* Fill Prefix
Filling when every line is indented or in a comment, etc.
Editing Programs

* Program Modes
Major modes for editing programs.
* Lists
Expressions with balanced parentheses. There are editing commands to operate on them.
* Defuns
Each program is made up of separate functions. There are editing commands to operate on them.
* Grinding
Adjusting indentation to show the nesting.
* Matching
Insertion of a close-delimiter flashes matching open.
* Comments
Inserting, illing and aligning comments.
* Balanced Editing
Inserting two matching parentheses at once, etc.
* Lisp Completion
Completion on symbol names in Lisp code.
* Documentation
Getting documentation of functions you plan to call.
* Change Log
Maintaining a change history for your program.
* Tags
Go direct to any function in your program in one command. Tags remembers which file it is in.
* Fortran
Fortran mode and its special features.
Indentation for Programs

* Basic Indent
* Multi-line Indent
Commands to reindent many lines at once.
* Lisp Indent
Specifying how each Lisp function should be indented.
* C Indent
Choosing an indentation style for C code.
Tag Tables

* Tag Syntax
* Create Tag Table
* Select Tag Table
* Find Tag
* Tags Search
* Tags Stepping
* List Tags
Fortran Mode

* Motion
Fortran MotionMoving point by statements or subprograms.
* Indent
Fortran IndentIndentation commands for Fortran.
* Comments
Fortran CommentsInserting and aligning comments.
* Columns
Fortran ColumnsMeasuring columns for valid Fortran.
* Abbrev
Fortran AbbrevBuilt-in abbrevs for Fortran keywords.
Fortran Indentation

* Commands
ForIndent CommandsCommands for indenting Fortran.
* Numbers
ForIndent NumHow line numbers auto-indent.
* Conv
ForIndent ConvConventions you must obey to avoid trouble.
* Vars
ForIndent VarsVariables controlling Fortran indent style.
Compiling and Testing Programs

* Compilation
Compiling programs in languages other than Lisp (C, Pascal, etc.)
* Modes
Lisp ModesVarious modes for editing Lisp programs, with different facilities for running the Lisp programs.
* Libraries
Lisp LibrariesCreating Lisp programs to run in Emacs.
* Eval
Lisp EvalExecuting a single Lisp expression in Emacs.
* Debug
Lisp DebugDebugging Lisp programs running in Emacs.
* Interaction
Lisp InteractionExecuting Lisp in an Emacs buffer.
* External Lisp
Communicating through Emacs with a separate Lisp.
Lisp Libraries

* Loading
Loading libraries of Lisp code into Emacs for use.
* Compiling Libraries
Compiling a library makes it load and run faster.
* Mocklisp
Converting Mocklisp to Lisp so GNU Emacs can run it.

* Defining Abbrevs
Defining an abbrev, so it will expand when typed.
* Expanding Abbrevs
Controlling expansion: prefixes, canceling expansion.
* Editing Abbrevs
Viewing or editing the entire list of defined abbrevs.
* Saving Abbrevs
Saving the entire list of abbrevs for another session.
* Dynamic Abbrevs
Abbreviations for words already in the buffer.
Editing Pictures

* Basic Picture
Basic concepts and simple commands of Picture Mode.
* Insert in Picture
Controlling direction of cursor motion after "self-inserting" characters.
* Tabs in Picture
Various features for tab stops and indentation.
* Rectangles in Picture
Clearing and superimposing rectangles.
Sending Mail

* Format
Mail FormatFormat of the mail being composed.
* Headers
Mail HeadersDetails of allowed mail header fields.
* Mode
Mail ModeSpecial commands for editing mail being composed.
Reading Mail with Rmail

* Scroll
Rmail ScrollingScrolling through a message.
* Motion
Rmail MotionMoving to another message.
* Deletion
Rmail DeletionDeleting and expunging messages.
* Inbox
Rmail InboxHow mail gets into the Rmail file.
* Files
Rmail FilesUsing multiple Rmail files.
* Output
Rmail OutputCopying message out to files.
* Labels
Rmail LabelsClassifying messages by labeling them.
* Summary
Rmail SummarySummaries show brief info on many messages.
* Reply
Rmail ReplySending replies to messages you are viewing.
* Editing
Rmail EditingEditing message text and headers in Rmail.
* Digest
Rmail DigestExtracting the messages from a digest message.
Rmail Summaries

* Rmail Make Summary
Making various sorts of summaries.
* Rmail Summary Edit
Manipulating messages from the summary.
The Calendar and the Diary

* Calendar Motion
Moving through the calendar; selecting a date.
* Scroll Calendar
Bringing earlier or later months onto the screen.
* Mark and Region
Remembering dates, the mark ring.
* General Calendar
Conveniences for moving about.
* Holidays
Displaying dates of holidays.
* Sunrise/Sunset
Displaying local times of sunrise and sunset.
* Lunar Phases
Displaying phases of the moon.
* Other Calendars
Converting dates to other calendar systems.
* Diary
Displaying events from your diary.
* Calendar Customization
Altering the behavior of the features above.
Movement in the Calendar

* Calendar Unit Motion
Moving by days, weeks, months, and years.
* Move to Beginning or End
Moving to start/end of weeks, months, and years.
* Specified Dates
Moving to the current date or another specific date.
The Diary

* Diary Commands
Viewing diary entries and associated calendar dates.
* Format of Diary File
Entering events in your diary.
* Special Diary Entries
Anniversaries, blocks of dates, cyclic entries, etc.
Customizing the Calendar and Diary

* Calendar Customizing
Defaults you can set.
* Holiday Customizing
Defining your own holidays.
* Date Display Format
Changing the format.
* Time Display Format
Changing the format.
* Daylight Savings
Changing the default.
* Diary Customizing
Defaults you can set.
* Hebrew/Islamic Entries
How to obtain them.
* Fancy Diary Display
Enhancing the diary display, sorting entries.
* Included Diary Files
Sharing a common diary file.
* Sexp Diary Entries
Fancy things you can do.
* Appt Customizing
Customizing appointment reminders.
Running Shell Commands from Emacs

* Single Shell
How to run one shell command and return.
* Interactive Shell
Permanent shell taking input via Emacs.
* Shell Mode
Special Emacs commands used with permanent shell.
Emulating Other Editors

* evi Mode
Brief discussion of evi, the vi emulation mode within Lucid Emacs

* Minor Modes
Each minor mode is one feature you can turn on independently of any others.
* Variables
Many Emacs commands examine Emacs variables to decide what to do; by setting variables, you can control their functioning.
* Keyboard Macros
A keyboard macro records a sequence of keystrokes to be replayed with a single command.
* Key Bindings
The keymaps say what command each key runs. By changing them, you can "redefine keys".
* Syntax
The syntax table controls how words and expressions are parsed.
* Init File
How to write common customizations in the `.emacs' file.
* Audible Bell
Changing how Emacs sounds the bell.
* Faces
Changing the fonts and colors of a region of text.

* Examining
Examining or setting one variable's value.
* Edit Options
Examining or editing list of all variables' values.
* Locals
Per-buffer values of variables.
* File Variables
How files can specify variable values.
Keyboard Macros

* Basic Kbd Macro
Defining and running keyboard macros.
* Save Kbd Macro
Giving keyboard macros names; saving them in files.
* Kbd Macro Query
Keyboard macros that do different things each use.
Customizing Key Bindings

* Keymaps
Definition of the keymap data structure. Names of Emacs's standard keymaps.
* Rebinding
How to redefine one key's meaning conveniently.
* Disabling
Disabling a command means confirmation is required before it can be executed. This is done to protect beginners from surprises.
The Syntax Table

* Entry
Syntax EntryWhat the syntax table records for each character.
* Change
Syntax ChangeHow to change the information.
The Init File, `~/.emacs'

* Init Syntax
Syntax of constants in Emacs Lisp.
* Init Examples
How to do some things with an init file.
* Terminal Init
Each terminal type can have an init file.
Dealing with Emacs Trouble

* Stuck Recursive
`[...]' in mode line around the parentheses.
* Screen Garbled
Garbage on the screen.
* Text Garbled
Garbage in the text.
* Unasked-for Search
Spontaneous entry to incremental search.
* Emergency Escape
Emergency escape-- What to do if Emacs stops responding.
* Total Frustration
When you are at your wits' end.

automatically generated by info2www