The Emacs Editor
Emacs is the extensible, customizable, self-documenting real-time display editor. This manual describes how to edit with Emacs and some of the ways to customize it; it corresponds to GNU Emacs version 24.4.
The homepage for GNU Emacs is at
http://www.gnu.org/software/emacs/.
To view this manual in other formats, click
here.
You can also purchase a printed copy from the
FSF store.
For information on extending Emacs, see Emacs Lisp.
This is the GNU Emacs Manual, updated for Emacs version 24.4.
Distrib | How to get the latest Emacs distribution. |
Intro | An introduction to Emacs concepts. |
Important General Concepts | |
---|---|
Screen | How to interpret what you see on the screen. |
User Input | Kinds of input events (characters, buttons, function keys). |
Keys | Key sequences: what you type to request one editing action. |
Commands | Named functions run by key sequences to do editing. |
Entering Emacs | Starting Emacs from the shell. |
Exiting | Stopping or killing Emacs. |
Fundamental Editing Commands | |
Basic | The most basic editing commands. |
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. |
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. |
Fixit | Commands especially useful for fixing typos. |
Keyboard Macros | Recording a sequence of keystrokes to be replayed. |
Major Structures of Emacs | |
Files | All about handling files. |
Buffers | Multiple buffers; editing several files at once. |
Windows | Viewing multiple pieces of text in one frame. |
Frames | Using multiple "windows" on your display. |
International | Using non-ASCII character sets. |
Advanced Features | |
Modes | Major and minor modes alter Emacs's basic behavior. |
Indentation | Editing the white space at the beginnings of lines. |
Text | Commands and modes for editing human languages. |
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 typing. |
Dired | Directory and file manager. |
Calendar/Diary | Calendar and diary facilities. |
Sending Mail | Sending mail in Emacs. |
Rmail | Reading mail in Emacs. |
Gnus | A flexible mail and news reader. |
Document View | Viewing PDF, PS and DVI files. |
EWW | A web browser in Emacs. |
Shell | Executing shell commands from Emacs. |
Emacs Server | Using Emacs as an editing server. |
Printing | Printing hardcopies of buffers or regions. |
Sorting | Sorting lines, paragraphs or pages within Emacs. |
Picture Mode | Editing pictures made up of text characters. |
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. |
Hyperlinking | Following links in buffers. |
Amusements | Various games and hacks. |
Packages | Installing additional features. |
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. |
Contributing | How to contribute improvements to Emacs. |
Service | How to get help for your own Emacs needs. |
Appendices | |
Copying | The GNU General Public License gives you permission to redistribute GNU Emacs on certain terms; it also explains that there is no warranty. |
GNU Free Documentation License | The license for this documentation. |
Emacs Invocation | Hairy startup options. |
X Resources | X resources for customizing Emacs. |
Antinews | Information about Emacs version 23. |
Mac OS / GNUstep | Using Emacs under Mac OS and GNUstep. |
Microsoft Windows | Using Emacs on Microsoft Windows and MS-DOS. |
Manifesto | What's GNU? Gnu's Not Unix! |
Glossary | Terms used in this manual. |
Acknowledgments | Major contributors to GNU Emacs. |
Indexes (each index contains a large menu) | |
Key Index | An item for each standard Emacs key sequence. |
Option Index | An item for every command-line option. |
Command Index | An item for each command name. |
Variable Index | An item for each documented variable. |
Concept Index | An item for each concept. |
Detailed Node Listing
Here are some other nodes which are really subnodes of the ones already listed, mentioned here so you can get to them in one step:
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. |
Menu Bar | How to use the menu bar. |
Basic Editing Commands | |
Inserting Text | Inserting text by simply typing it. |
Moving Point | Moving the cursor to the place where you want to change something. |
Erasing | Deleting and killing text. |
Basic Undo | Undoing recent changes in the text. |
Basic Files | Visiting, creating, and saving files. |
Basic Help | Asking what a character does. |
Blank Lines | Making and deleting blank lines. |
Continuation Lines | How Emacs displays lines too wide for the screen. |
Position Info | What line, row, or column is point on? |
Arguments | Numeric arguments for repeating a command N times. |
Repeating | Repeating the previous command quickly. |
The Minibuffer | |
Basic Minibuffer | Basic usage of the minibuffer. |
Minibuffer File | Entering file names with the minibuffer. |
Minibuffer Edit | How to edit in the minibuffer. |
Completion | An abbreviation facility for minibuffer input. |
Minibuffer History | Reusing recent minibuffer arguments. |
Repetition | Re-executing commands that used the minibuffer. |
Passwords | Entering passwords in the echo area. |
Yes or No Prompts | Replying yes or no in the echo area. |
Completion | |
Completion Example | Examples of using completion. |
Completion Commands | A list of completion commands. |
Completion Exit | Completion and minibuffer text submission. |
Completion Styles | How completion matches are chosen. |
Completion Options | Options for completion. |
Help | |
Help Summary | Brief list of all Help commands. |
Key Help | Asking what a key does in Emacs. |
Name Help | Asking about a command, variable or function name. |
Apropos | Asking what pertains to a given topic. |
Help Mode | Special features of Help mode and Help buffers. |
Package Keywords | Finding Lisp libraries by keywords (topics). |
Language Help | Help relating to international language support. |
Misc Help | Other help commands. |
Help Files | Commands to display auxiliary help files. |
Help Echo | Help on active text and tooltips ("balloon help"). |
The Mark and the Region | |
Setting Mark | Commands to set the mark. |
Marking Objects | Commands to put region around textual units. |
Using Region | Summary of ways to operate on contents of the region. |
Mark Ring | Previous mark positions saved so you can go back there. |
Global Mark Ring | Previous mark positions in various buffers. |
Shift Selection | Using shifted cursor motion keys. |
Disabled Transient Mark | Leaving regions unhighlighted by default. |
Killing and Moving Text | |
Deletion and Killing | Commands that remove text. |
Yanking | Commands that insert text. |
Cut and Paste | Clipboard and selections on graphical displays. |
Accumulating Text | Other methods to add text to the buffer. |
Rectangles | Operating on text in rectangular areas. |
CUA Bindings | Using C-x/C-c/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. |
Other Kill Commands | Commands to kill large regions of text and syntactic units such as words and sentences. |
Kill Options | Options that affect killing. |
Yanking | |
Kill Ring | Where killed text is stored. |
Earlier Kills | Yanking something killed some time ago. |
Appending Kills | Several kills in a row all yank together. |
"Cut and Paste" Operations on Graphical Displays | |
Clipboard | How Emacs uses the system clipboard. |
Primary Selection | The temporarily selected text selection. |
Secondary Selection | Cutting without altering point and mark. |
Registers | |
Position Registers | Saving positions in registers. |
Text Registers | Saving text in registers. |
Rectangle Registers | Saving rectangles in registers. |
Configuration Registers | Saving window configurations in registers. |
Number Registers | Numbers in registers. |
File Registers | File names in registers. |
Keyboard Macro Registers | Keyboard macros in registers. |
Bookmarks | Bookmarks are like registers, but persistent. |
Controlling the Display | |
Scrolling | Commands to move text up and down in a window. |
Recentering | A scroll command that centers the current line. |
Auto Scrolling | Redisplay scrolls text automatically when needed. |
Horizontal Scrolling | Moving text left and right in a window. |
Narrowing | Restricting display and editing to a portion of the buffer. |
View Mode | Viewing read-only buffers. |
Follow Mode | Follow mode lets two windows scroll as one. |
Faces | How to change the display style using faces. |
Colors | Specifying colors for faces. |
Standard Faces | The main predefined faces. |
Text Scale | Increasing or decreasing text size in a buffer. |
Font Lock | Minor mode for syntactic highlighting using faces. |
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. |
Selective Display | Hiding lines with lots of indentation. |
Optional Mode Line | Optional mode line display features. |
Text Display | How text characters are normally displayed. |
Cursor Display | Features for displaying the cursor. |
Line Truncation | Truncating lines to fit the screen width instead of continuing them to multiple screen lines. |
Visual Line Mode | Word wrap and screen line-based editing. |
Display Custom | Information on variables for customizing display. |
Searching and Replacement | |
Incremental Search | Search happens as you type the string. |
Nonincremental Search | Specify entire string and then search. |
Word Search | Search for sequence of words. |
Symbol Search | Search for a source code symbol. |
Regexp Search | Search for match for a regexp. |
Regexps | Syntax of regular expressions. |
Regexp Backslash | Regular expression constructs starting with `\'. |
Regexp Example | A complex regular expression explained. |
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. |
Incremental Search | |
Basic Isearch | Basic incremental search commands. |
Repeat Isearch | Searching for the same string again. |
Error in Isearch | When your string is not found. |
Special Isearch | Special input in incremental search. |
Isearch Yank | Commands that grab text into the search string or else edit the search string. |
Not Exiting Isearch | Prefix argument and scrolling commands. |
Isearch Minibuffer | Incremental search of the minibuffer history. |
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 | |
Undo | The Undo commands. |
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. |
Keyboard Macros | |
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. |
Edit Keyboard Macro | Editing keyboard macros. |
Keyboard Macro Step-Edit | Interactively executing and editing a keyboard macro. |
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. |
Autorevert | Auto Reverting non-file buffers. |
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. |
Comparing Files | Finding where two files differ. |
Diff Mode | Mode for editing file differences. |
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 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. |
Filesets | Handling sets of files. |
Saving Files | |
Save Commands | Commands for saving files. |
Backup | How Emacs saves the old version of your file. |
Customize Save | Customizing the saving of files. |
Interlocking | How Emacs protects against simultaneous editing of one file by two users. |
File Shadowing | Copying files to "shadows" automatically. |
Time Stamps | Emacs can update time stamps on saved files. |
Backup Files | |
Backup Names | How backup files are named. |
Backup Deletion | Emacs deletes excess numbered backups. |
Backup Copying | Backups can be made by copying or renaming. |
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. |
Auto-Saving: Protection Against Disasters | |
Auto Save Files | The file where auto-saved changes are actually made until you save the file. |
Auto Save Control | Controlling when and how often to auto-save. |
Recover | Recovering text from auto-save files. |
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-only status; 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. |
Indirect Buffers | An indirect buffer shares the text of another buffer. |
Buffer Convenience | Convenience and customization features for buffer handling. |
Convenience Features and Customization of Buffer Handling | |
Uniquify | Making buffer names unique with directory parts. |
Icomplete | Fast minibuffer selection. |
Buffer Menus | Configurable buffer menu. |
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. |
Displaying Buffers | How Emacs picks a window for displaying a buffer. |
Window Convenience | Convenience functions for window handling. |
Displaying a Buffer in a Window | |
Window Choice | How display-buffer works.
|
Frames and Graphical Displays | |
Mouse Commands | Moving, cutting, and pasting, with the mouse. |
Word and Line Mouse | Mouse commands for selecting whole words or lines. |
Mouse References | Using the mouse to select an item from a list. |
Menu Mouse Clicks | Mouse clicks that bring up menus. |
Mode Line Mouse | Mouse clicks on the mode line. |
Creating Frames | Creating additional Emacs frames with various contents. |
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 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. |
Menu Bars | Enabling and disabling the menu bar. |
Tool Bars | Enabling and disabling the tool bar. |
Dialog Boxes | Controlling use of dialog boxes. |
Tooltips | Displaying information at the current mouse position. |
Mouse Avoidance | Preventing the mouse pointer from obscuring text. |
Non-Window Terminals | Multiple frames on terminals that show only one. |
Text-Only Mouse | Using the mouse in text terminals. |
International Character Set Support | |
International Chars | Basic concepts of multibyte characters. |
Language Environments | Setting things up for the language you use. |
Input Methods | Entering text characters not on your keyboard. |
Select Input Method | Specifying your choice of input methods. |
Coding Systems | Character set conversion when you read and write files, and so on. |
Recognize Coding | How Emacs figures out which conversion to use. |
Specify Coding | Specifying a file's coding system explicitly. |
Output Coding | Choosing coding systems for output. |
Text Coding | Choosing conversion to use for file text. |
Communication Coding | Coding systems for interprocess communication. |
File Name Coding | Coding systems for file names. |
Terminal Coding | Specifying coding systems for converting terminal input and output. |
Fontsets | Fontsets are collections of fonts that cover the whole spectrum of characters. |
Defining Fontsets | Defining a new fontset. |
Modifying Fontsets | Modifying an existing fontset. |
Undisplayable Characters | When characters don't display. |
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. |
Major and Minor Modes | |
Major Modes | Text mode vs. Lisp mode vs. C mode... |
Minor Modes | Each minor mode is a feature you can turn on independently of any others. |
Choosing Modes | How modes are chosen when visiting files. |
Indentation | |
Indentation Commands | More commands for performing indentation. |
Tab Stops | Stop points for indentation in Text modes. |
Just Spaces | Using only space characters for indentation. |
Indent Convenience | Optional indentation features. |
Commands for Human Languages | |
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. |
Text Mode | The major modes for editing text files. |
Outline Mode | Editing outlines. |
Org Mode | The Emacs organizer. |
TeX Mode | Editing TeX and LaTeX files. |
HTML Mode | Editing HTML and SGML files. |
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. |
Filling Text | |
Auto Fill | Auto Fill mode breaks long lines automatically. |
Fill Commands | Commands to refill paragraphs and center lines. |
Fill Prefix | Filling paragraphs that are indented or in a comment, etc. |
Adaptive Fill | How Emacs can determine the fill prefix automatically. |
Outline Mode | |
Outline Format | What the text of an outline looks like. |
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. |
LaTeX Editing | Additional commands for LaTeX input files. |
TeX Print | Commands for printing part of a file with TeX. |
TeX Misc | Customization of TeX mode, and related features. |
Enriched Text | |
Enriched Mode | Entering and exiting Enriched mode. |
Hard and Soft Newlines | There are two different kinds of newlines. |
Editing Format Info | How to edit text properties. |
Enriched Faces | Bold, italic, underline, etc. |
Enriched Indentation | Changing the left and right margins. |
Enriched Justification | Centering, setting text flush with the left or right margin, etc. |
Enriched Properties | The "special" text properties submenu. |
Editing Text-based Tables | |
Table Definition | What is a text based table. |
Table Creation | How to create a table. |
Table Recognition | How to activate and deactivate tables. |
Cell Commands | Cell-oriented commands in a table. |
Cell Justification | Justifying cell contents. |
Table Rows and Columns | Inserting and deleting rows and columns. |
Table Conversion | Converting between plain text and tables. |
Table Misc | Table miscellany. |
Editing Programs | |
Program Modes | Major modes for editing programs. |
Defuns | Commands to operate on major top-level parts of a program. |
Program Indent | Adjusting indentation to show the nesting. |
Parentheses | Commands that operate on parentheses. |
Comments | Inserting, killing, and aligning comments. |
Documentation | Getting documentation of functions you plan to call. |
Hideshow | Displaying blocks selectively. |
Symbol Completion | Completion on symbol names of your program or language. |
MixedCase Words | Dealing with identifiersLikeThis. |
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, IDL, Pike and AWK modes. |
Asm Mode | Asm mode and its special features. |
Fortran | Fortran mode and its special features. |
Top-Level Definitions, or Defuns | |
Left Margin Paren | An open-paren or similar opening delimiter starts a defun if it is at the left margin. |
Moving by Defuns | Commands to move over or mark a major definition. |
Imenu | Making buffer indexes as menus. |
Which Function | Which Function mode shows which function you are in. |
Indentation for Programs | |
Basic Indent | Indenting a single line. |
Multi-line Indent | Commands to reindent many lines at once. |
Lisp Indent | Specifying how each Lisp function should be indented. |
C Indent | Extra features for indenting C and related modes. |
Custom C Indent | Controlling indentation style for C and related modes. |
Commands for Editing with Parentheses | |
Expressions | Expressions with balanced parentheses. |
Moving by Parens | Commands for moving up, down and across in the structure of parentheses. |
Matching | Insertion of a close-delimiter flashes matching open. |
Manipulating Comments | |
Comment Commands | Inserting, killing, and aligning comments. |
Multi-Line Comments | Commands for adding and editing multi-line comments. |
Options for Comments | Customizing the comment features. |
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. |
C and Related Modes | |
Motion in C | Commands to move by C statements, etc. |
Electric C | Colon and other chars can automatically reindent. |
Hungry Delete | A more powerful DEL command. |
Other C Commands | Filling comments, viewing expansion of macros, and other neat features. |
Fortran Mode | |
Fortran Motion | Moving point by statements or subprograms. |
Fortran Indent | Indentation commands for Fortran. |
Fortran Comments | Inserting and aligning comments. |
Fortran Autofill | Auto fill support for Fortran. |
Fortran Columns | Measuring columns for valid Fortran. |
Fortran Abbrev | Built-in abbrevs for Fortran keywords. |
Fortran Indentation | |
ForIndent Commands | Commands for indenting and filling Fortran. |
ForIndent Cont | How continuation lines indent. |
ForIndent Num | How line numbers auto-indent. |
ForIndent Conv | Conventions you must obey to avoid trouble. |
ForIndent Vars | Variables controlling Fortran indent style. |
Compiling and Testing Programs | |
Compilation | Compiling programs in languages other than Lisp (C, Pascal, etc.). |
Compilation Mode | The mode for visiting compiler errors. |
Compilation Shell | Customizing your shell properly for use in the compilation buffer. |
Grep Searching | Searching with grep. |
Flymake | Finding syntax errors on the fly. |
Debuggers | Running symbolic debuggers for non-Lisp programs. |
Executing Lisp | Various modes for editing Lisp programs, with different facilities for running the Lisp programs. |
Lisp Libraries | How Lisp programs are loaded into Emacs. |
Lisp Eval | Executing a single Lisp expression in Emacs. |
Lisp Interaction | Executing Lisp in an Emacs buffer. |
External Lisp | Communicating through Emacs with a separate Lisp. |
Running Debuggers Under Emacs | |
Starting GUD | How to start a debugger subprocess. |
Debugger Operation | Connection between the debugger and source buffers. |
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. |
GDB Graphical Interface | |
GDB User Interface Layout | Control the number of displayed buffers. |
Source Buffers | Use the mouse in the fringe/margin to control your program. |
Breakpoints Buffer | A breakpoint control panel. |
Threads Buffer | Displays your threads. |
Stack Buffer | Select a frame from the call stack. |
Other GDB Buffers | Other buffers for controlling the GDB state. |
Watch Expressions | Monitor variable values in the speedbar. |
Multithreaded Debugging | Debugging programs with several threads. |
Maintaining Large Programs | |
Version Control | Using version control systems. |
Change Log | Maintaining a change history for your program. |
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. |
Emerge | A convenient way of merging two versions of a program. |
Version Control | |
Introduction to VC | How version control works in general. |
VC Mode Line | How the mode line shows version control status. |
Basic VC Editing | How to edit a file under version control. |
Log Buffer | Features available in log entry buffers. |
Registering | Putting a file under version control. |
Old Revisions | Examining and comparing old versions. |
VC Change Log | Viewing the VC Change Log. |
VC Undo | Canceling changes before or after committing. |
VC Ignore | Ignore files under version control system. |
VC Directory Mode | Listing files managed by version control. |
Branches | Multiple lines of development. |
Miscellaneous VC | Various other commands and features of VC. |
Customizing VC | Variables that change VC's behavior. |
Introduction to Version Control | |
Why Version Control? | Understanding the problems it addresses. |
Version Control Systems | Supported version control back-end systems. |
VCS Concepts | Words and concepts related to version control. |
VCS Merging | How file conflicts are handled. |
VCS Changesets | How changes are grouped. |
VCS Repositories | Where version control repositories are stored. |
Types of Log File | The VCS log in contrast to the ChangeLog. |
Basic Editing under Version Control | |
VC With A Merging VCS | Without locking: default mode for CVS. |
VC With A Locking VCS | RCS in its default mode, SCCS, and optionally CVS. |
Advanced C-x v v | Advanced features available with a prefix argument. |
VC Directory Mode | |
VC Directory Buffer | What the buffer looks like and means. |
VC Directory Commands | Commands to use in a VC directory buffer. |
Version Control Branches | |
Switching Branches | How to get to another existing branch. |
VC Pull | Updating the contents of a branch. |
Merging | Transferring changes between branches. |
Creating Branches | How to start a new branch. |
Miscellaneous Commands and Features of VC | |
Change Logs and VC | Generating a change log file from log entries. |
VC Delete/Rename | Deleting and renaming version-controlled files. |
Revision Tags | Symbolic names for revisions. |
Version Headers | Inserting version control headers into working files. |
Customizing VC | |
General VC Options | Options that apply to multiple back ends. |
RCS and SCCS | Options for RCS and SCCS. |
CVS Options | Options for CVS. |
Change Logs | |
Change Log Commands | Commands for editing change log files. |
Format of ChangeLog | What the change log file looks like. |
Tags Tables | |
Tag Syntax | Tag syntax for various types of code and text files. |
Create Tags Table | Creating a tags table with etags. |
Etags Regexps | Create arbitrary tags using regular expressions. |
Select Tags Table | How to visit a tags table. |
Find Tag | Commands to find the definition of a specific tag. |
Tags Search | Using a tags table for searching and replacing. |
List Tags | Using tags for completion, and listing them. |
Merging Files with Emerge | |
Overview of Emerge | How to start Emerge. Basic concepts. |
Submodes of Emerge | Fast mode vs. Edit mode. Skip Prefers mode and Auto Advance mode. |
State of Difference | You do the merge by specifying state A or B for each difference. |
Merge Commands | Commands for selecting a difference, changing states of differences, etc. |
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. |
Abbrevs | |
Abbrev Concepts | Fundamentals of defined abbrevs. |
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. |
Dabbrev Customization | What is a word, for dynamic abbrevs. Case handling. |
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. |
Dired, the Directory Editor | |
Dired Enter | How to invoke Dired. |
Dired Navigation | Special motion commands in the Dired buffer. |
Dired Deletion | Deleting files with Dired. |
Flagging Many Files | Flagging files based on their names. |
Dired Visiting | Other file operations through Dired. |
Marks vs Flags | Flagging for deletion vs marking. |
Operating on Files | How to copy, rename, print, compress, etc. either one file or several files. |
Shell Commands in Dired | Running a shell command on the marked files. |
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. |
Subdir Switches | Subdirectory switches in Dired. |
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. |
Dired and Find | Using find to choose the files for Dired. |
Wdired | Operating on files by editing the Dired buffer. |
Image-Dired | Viewing image thumbnails in Dired. |
Misc Dired Features | Various other features. |
The Calendar and the Diary | |
Calendar Motion | Moving through the calendar; selecting a date. |
Scroll Calendar | Bringing earlier or later months onto the screen. |
Counting Days | How many days are there between two dates? |
General Calendar | Exiting or recomputing the calendar. |
Writing Calendar Files | Writing calendars to files of various formats. |
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. |
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. |
Time Intervals | Keeping track of time intervals. |
Advanced Calendar/Diary Usage | Advanced Calendar/Diary customization. |
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. |
Conversion To and From Other Calendars | |
Calendar Systems | The calendars Emacs understands (aside from Gregorian). |
To Other Calendar | Converting the selected date to various calendars. |
From Other Calendar | Moving to a date specified in another calendar. |
The Diary | |
Displaying the Diary | Viewing diary entries and associated calendar dates. |
Format of Diary File | Entering events in your diary. |
Date Formats | Various ways you can specify dates. |
Adding to Diary | Commands to create diary entries. |
Special Diary Entries | Anniversaries, blocks of dates, cyclic entries, etc. |
More advanced features of the Calendar and Diary | |
Calendar Customizing | Calendar layout and hooks. |
Holiday Customizing | Defining your own holidays. |
Mayan Calendar | Moving to a date specified in a Mayan calendar. |
Date Display Format | Changing the format. |
Time Display Format | Changing the format. |
Diary Customizing | Defaults you can set. |
Non-Gregorian Diary | Diary entries based on other calendars. |
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. |
Sending Mail | |
Mail Format | Format of a mail message. |
Mail Headers | Details of some standard mail header fields. |
Mail Aliases | Abbreviating and grouping mail addresses. |
Mail Commands | Special commands for editing mail being composed. |
Mail Signature | Adding a signature to every message. |
Mail Amusements | Distracting the NSA; adding fortune messages. |
Mail Methods | Using alternative mail-composition methods. |
Mail Commands | |
Mail Sending | Commands to send the message. |
Header Editing | Commands to move to header fields and edit them. |
Citing Mail | Quoting a message you are replying to. |
Mail Misc | Attachments, spell checking, etc. |
Reading Mail with Rmail | |
Rmail Basics | Basic concepts of Rmail, and simple use. |
Rmail Scrolling | Scrolling through a message. |
Rmail Motion | Moving to another message. |
Rmail Deletion | Deleting and expunging messages. |
Rmail Inbox | How mail gets into the Rmail file. |
Rmail Files | Using multiple Rmail files. |
Rmail Output | Copying message out to files. |
Rmail Labels | Classifying messages by labeling them. |
Rmail Attributes | Certain standard labels, called attributes. |
Rmail Reply | Sending replies to messages you are viewing. |
Rmail Summary | Summaries show brief info on many messages. |
Rmail Sorting | Sorting messages in Rmail. |
Rmail Display | How Rmail displays a message; customization. |
Rmail Coding | How Rmail handles decoding character sets. |
Rmail Editing | Editing message text and headers in Rmail. |
Rmail Digest | Extracting the messages from a digest message. |
Rmail Rot13 | Reading messages encoded in the rot13 code. |
Movemail | More details of fetching new mail. |
Remote Mailboxes | Retrieving mail from remote mailboxes. |
Other Mailbox Formats | Retrieving mail from local mailboxes in various formats. |
Rmail Summaries | |
Rmail Make Summary | Making various sorts of summaries. |
Rmail Summary Edit | Manipulating messages from the summary. |
Gnus | |
Buffers of Gnus | The group, summary, and article buffers. |
Gnus Startup | What you should know about starting Gnus. |
Gnus Group Buffer | A short description of Gnus group commands. |
Gnus Summary Buffer | A short description of Gnus summary commands. |
Document Viewing | |
DocView Navigation | Navigating DocView buffers. |
DocView Searching | Searching inside documents. |
DocView Slicing | Specifying which part of a page is displayed. |
DocView Conversion | Influencing and triggering conversion. |
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. |
Shell Prompts | Two ways to recognize shell prompts. |
Shell History | Repeating previous commands in a shell buffer. |
Directory Tracking | Keeping track when the subshell changes directory. |
Shell Options | Options for customizing Shell mode. |
Terminal emulator | An Emacs window as a terminal emulator. |
Term Mode | Special Emacs commands used in Term mode. |
Remote Host | Connecting to another computer. |
Serial Terminal | Connecting to a serial port. |
Shell Command History | |
Shell Ring | Fetching commands from the history list. |
Shell History Copying | Moving to a command and then copying it. |
History References | Expanding ‘!’-style history references. |
Using Emacs as a Server | |
Invoking emacsclient | Connecting to the Emacs server. |
emacsclient Options | Emacs client startup options. |
Printing Hard Copies | |
PostScript | Printing buffers or regions as PostScript. |
PostScript Variables | Customizing the PostScript printing commands. |
Printing Package | An optional advanced printing interface. |
Hyperlinking and Navigation Features | |
Browse-URL | Following URLs. |
Goto Address mode | Activating URLs. |
FFAP | Finding files etc. at point. |
Emacs Lisp Packages | |
Package Menu | Buffer for viewing and managing packages. |
Package Installation | Options for package installation. |
Package Files | Where packages are installed. |
Customization | |
Easy Customization | Convenient way to browse and change settings. |
Variables | Many Emacs commands examine Emacs variables to decide what to do; by setting variables, you can control their functioning. |
Key Bindings | The keymaps say what command each key runs. By changing them, you can "redefine" keys. |
Init File | How to write common customizations in the initialization file. |
Easy Customization Interface | |
Customization Groups | How settings are classified. |
Browsing Custom | Browsing and searching for settings. |
Changing a Variable | How to edit an option's value and set the option. |
Saving Customizations | Saving customizations for future Emacs sessions. |
Face Customization | How to edit the attributes of a face. |
Specific Customization | Customizing specific settings or groups. |
Custom Themes | Collections of customization settings. |
Creating Custom Themes | How to create a new custom theme. |
Variables | |
Examining | Examining or setting one variable's value. |
Hooks | Hook variables let you specify programs for parts of Emacs to run on particular occasions. |
Locals | Per-buffer values of variables. |
File Variables | How files can specify variable values. |
Directory Variables | How variable values can be specified by directory. |
Local Variables in Files | |
Specifying File Variables | Specifying file local variables. |
Safe File Variables | Making sure file local variables are safe. |
Customizing Key Bindings | |
Keymaps | Generalities. The global keymap. |
Prefix Keymaps | Keymaps for prefix keys. |
Local Keymaps | Major and minor modes have their own keymaps. |
Minibuffer Maps | The minibuffer uses its own local keymaps. |
Rebinding | How to redefine one key's meaning conveniently. |
Init Rebinding | Rebinding keys with your initialization file. |
Modifier Keys | Using modifier keys in key bindings. |
Function Keys | Rebinding terminal function keys. |
Named ASCII Chars | Distinguishing <TAB> from C-i, and so on. |
Mouse Buttons | Rebinding mouse buttons in Emacs. |
Disabling | Disabling a command means confirmation is required before it can be executed. This is done to protect beginners from surprises. |
The Emacs Initialization File | |
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. |
Find Init | How Emacs finds the init file. |
Init Non-ASCII | Using non-ASCII characters in an init file. |
Dealing with Emacs Trouble | |
DEL Does Not Delete | What to do if <DEL> doesn't delete. |
Stuck Recursive | `[...]' in mode line around the parentheses. |
Screen Garbled | Garbage on the screen. |
Text Garbled | Garbage in the text. |
Memory Full | How to cope when you run out of memory. |
Crashing | What Emacs does when it crashes. |
After a Crash | Recovering editing in an Emacs session that crashed. |
Emergency Escape | What to do if Emacs stops responding. |
Reporting Bugs | |
Known Problems | How to read about known problems and bugs. |
Bug Criteria | Have you really found a bug? |
Understanding Bug Reporting | How to report a bug effectively. |
Checklist | Steps to follow for a good bug report. |
Sending Patches | How to send a patch for GNU Emacs. |
Command Line Arguments for Emacs Invocation | |
Action Arguments | Arguments to visit files, load libraries, and call functions. |
Initial Options | Arguments that take effect while starting Emacs. |
Command Example | Examples of using command line arguments. |
Environment | Environment variables that Emacs uses. |
Display X | Changing the default display and using remote login. |
Font X | Choosing a font for text, under X. |
Colors X | Choosing display colors. |
Window Size X | Start-up window size, under X. |
Borders X | Internal and external borders, under X. |
Title X | Specifying the initial frame's title. |
Icons X | Choosing what sort of icon to use, under X. |
Misc X | Other display options. |
Environment Variables | |
General Variables | Environment variables that all versions of Emacs use. |
Misc Variables | Certain system-specific variables. |
MS-Windows Registry | An alternative to the environment on MS-Windows. |
X Options and Resources | |
Resources | Using X resources with Emacs (in general). |
Table of Resources | Table of specific X resources that affect Emacs. |
Lucid Resources | X resources for Lucid menus. |
Motif Resources | X resources for Motif and LessTif menus. |
GTK resources | Resources for GTK widgets. |
GTK resources | |
GTK Resource Basics | Basic usage of GTK+ resources. |
GTK Widget Names | How GTK+ widgets are named. |
GTK Names in Emacs | GTK widgets used by Emacs. |
GTK styles | What can be customized in a GTK widget. |
Emacs and Mac OS / GNUstep | |
Mac / GNUstep Basics | Basic Emacs usage under GNUstep or Mac OS. |
Mac / GNUstep Customization | Customizations under GNUstep or Mac OS. |
Mac / GNUstep Events | How window system events are handled. |
GNUstep Support | Details on status of GNUstep support. |
Emacs and Microsoft Windows/MS-DOS | |
Windows Startup | How to start Emacs on Windows. |
Text and Binary | Text files use CRLF to terminate lines. |
Windows Files | File-name conventions on Windows. |
ls in Lisp | Emulation of ls for Dired. |
Windows HOME | Where Emacs looks for your .emacs and where it starts up. |
Windows Keyboard | Windows-specific keyboard features. |
Windows Mouse | Windows-specific mouse features. |
Windows Processes | Running subprocesses on Windows. |
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. |
Emacs and MS-DOS | |
MS-DOS Keyboard | Keyboard conventions on MS-DOS. |
MS-DOS Mouse | Mouse conventions on MS-DOS. |
MS-DOS Display | Fonts, frames and display size on MS-DOS. |
MS-DOS File Names | File name conventions on 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. |
Copyright © 1985–1987, 1993–2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being “The GNU Manifesto,” “Distribution” and “GNU GENERAL PUBLIC LICENSE,” with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”(a) The FSF's Back-Cover Text is: “You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.”