GNU Emacs Manual
From Wikisource
| GNU Emacs Manual by |
Distribution→ |
| Source:http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html |
The Emacs Editor[edit]
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 22.1.
For information on extending Emacs, see Emacs Lisp.
- Distrib: How to get the latest Emacs distribution.
- 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.
- Intro: An introduction to Emacs concepts.
- Glossary: The glossary.
- Antinews: Information about Emacs version 21.
- Mac OS: Using Emacs in the Mac.
- Microsoft Windows: Using Emacs on Microsoft Windows and MS-DOS.
- Manifesto: What's GNU? Gnu's Not Unix!
- Acknowledgments: Major contributors to GNU Emacs.
[edit]
- 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.
Important General Concepts[edit]
- 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.
- Text Characters: Character set for text (the contents of buffers and strings).
- Entering Emacs: Starting Emacs from the shell.
- Exiting: Stopping or killing Emacs.
- Emacs Invocation: Hairy startup options.
Fundamental Editing Commands[edit]
- 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[edit]
- Mark: The mark: how to delimit a ``region of text.
- Killing: Killing (cutting) text.
- Yanking: Recovering killed text. Moving text. (Pasting.)
- 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.
- Keyboard Macros: A keyboard macro records a sequence of keystrokes to be replayed with a single command.
Major Structures of Emacs[edit]
- 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.
- International: Using non-ASCII character sets (the MULE features).
Advanced Features[edit]
- 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.
- Building: Compiling, running and debugging programs.
- Maintaining: Features for maintaining large programs.
- Abbrevs: How to define text abbreviations to reduce the number of characters you must type.
- Picture Mode: Editing pictures made up of characters using the quarter-plane screen model.
- Sending Mail: Sending mail in Emacs.
- Rmail: Reading mail in Emacs.
- Dired: You can ``edit a directory to manage files in it.
- Calendar/Diary: The calendar and diary facilities.
- Gnus: How to read netnews with Emacs.
- Shell: Executing shell commands from Emacs.
- Emacs Server: Using Emacs as an editing server for mail, etc.
- Printing: Printing hardcopies of buffers or regions.
- Sorting: Sorting lines, paragraphs or pages within Emacs.
- Narrowing: Restricting display and editing to a portion of the buffer.
- Two-Column: Splitting apart columns to edit them in side-by-side windows.
- Editing Binary Files: Using Hexl mode to edit binary files.
- Saving Emacs Sessions: Saving Emacs state from one session to the next.
- Recursive Edit: A command can allow you to do editing "within the command". This is called a "recursive editing level".
- Emulation: Emulating some other editors with Emacs.
- Hyperlinking: Following links in buffers.
- Dissociated Press: Dissociating text for fun.
- Amusements: Various games and hacks.
- Customization: Modifying the behavior of Emacs.
- X Resources: X resources for customizing Emacs.
Recovery from Problems[edit]
- 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.
The Detailed Node Listing[edit]
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 Organization of the Screen[edit]
- 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[edit]
- Inserting Text: Inserting text by simply typing it.
- Moving Point: How to move 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: 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.
- Repeating: A short-cut for repeating the previous command.
The Minibuffer[edit]
- 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.
Completion[edit]
- Example: Examples of using completion.
- Commands: A list of completion commands.
- Strict Completion: Different types of completion.
- Options: Options for completion.
Help[edit]
- 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.
- Library 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 pre-written help files.
- Help Echo: Help on active text and tooltips (`balloon help')
The Mark and the Region[edit]
- Setting Mark: Commands to set the mark.
- Transient Mark: How to make Emacs highlight the region-- when there is one.
- Momentary Mark: Enabling Transient Mark mode momentarily.
- 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.
- Global Mark Ring: Previous mark positions in various buffers.
Killing and Moving Text[edit]
- 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.
- CUA Bindings: Using C-x, C-c, C-v for copy and paste, with enhanced rectangle support.
Yanking[edit]
- 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.
Registers[edit]
- RegPos: Saving positions in registers.
- RegText: Saving text in registers.
- RegRect: Saving rectangles in registers.
- RegConfig: Saving window configurations in registers.
- RegNumbers: Numbers in registers.
- RegFiles: File names in registers.
- Bookmarks: Bookmarks are like registers, but persistent.
Controlling the Display[edit]
- Scrolling: Moving text up and down in a window.
- Auto Scrolling: Redisplay scrolls text automatically when needed.
- Horizontal Scrolling: Moving text left and right in a window.
- Follow Mode: Follow mode lets two windows scroll as one.
- Faces: How to change the display style using faces.
- Standard Faces: Emacs' predefined faces.
- 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.
- Display Custom: Information on variables for customizing display.
Searching and Replacement[edit]
- Incremental Search: Search happens as you type the string.
- Nonincremental 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.
- 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[edit]
- 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.
- Non-ASCII Isearch: How to search for non-ASCII characters.
- Isearch Yank: Commands that grab text into the search string or else edit the search string.
- Highlight Isearch: Isearch highlights the other possible matches.
- Isearch Scroll: Scrolling during an incremental search.
- Slow Isearch: Incremental search features for slow terminals.
Replacement Commands[edit]
- 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[edit]
- Undo: Full details of Emacs undo commands.
- 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 buffer.
Keyboard Macros[edit]
- 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[edit]
- 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.
- Version Control: Version control systems (RCS, CVS and SCCS).
- Directories: Creating, deleting, and listing file directories.
- Comparing Files: Finding where two files differ.
- Diff Mode: Editing diff output.
- 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.
- 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[edit]
- 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[edit]
- One or Many: Whether to make one backup file or many.
- Names: How backup files are named.
- Deletion: Emacs deletes excess numbered backups.
- Copying: Backups can be made by copying or renaming.
Auto-Saving: Protection Against Disasters[edit]
- Files: The file where auto-saved changes are actually made until you save the file.
- Control: Controlling when and how often to auto-save.
- Recover: Recovering text from auto-save files.
Version Control[edit]
- 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.
- Old Versions: Examining and comparing old versions.
- Secondary VC Commands: The commands used a little less frequently.
- Branches: Multiple lines of development.
- Remote Repositories: Efficient access to remote CVS servers.
- Snapshots: Sets of file versions treated as a unit.
- Miscellaneous VC: Various other commands and features of VC.
- Customizing VC: Variables that change VC's behavior.
Using Multiple Buffers[edit]
- 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.
- Indirect Buffers: An indirect buffer shares the text of another buffer.
- Buffer Convenience: Convenience and customization features for buffer handling.
Multiple Windows[edit]
- 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.
- Force Same Window: Forcing certain buffers to appear in the selected window rather than in another window.
- Change Window: Deleting windows and changing their sizes.
- Window Convenience: Convenience functions for window handling.
Frames and Graphical Displays[edit]
- Cut and Paste: Mouse commands for cut and paste.
- 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.
- Speedbar: How to make and use a speedbar frame.
- Multiple Displays: How one Emacs job can talk to several displays.
- Special Buffer Frames: You can make certain buffers have their own frames.
- Frame Parameters: Changing the colors and other modes of frames.
- Scroll Bars: How to enable and disable scroll bars; how to use them.
- Wheeled Mice: Using mouse wheels for scrolling.
- 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: Showing "tooltips", AKA "balloon help" for active text.
- Mouse Avoidance: Moving the mouse pointer out of the way.
- Non-Window Terminals: Multiple frames on terminals that show only one.
- Text-Only Mouse: Using the mouse in text-only terminals.
International Character Set Support[edit]
- International Chars: Basic concepts of multibyte characters.
- Enabling Multibyte: Controlling whether to use 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.
- Multibyte Conversion: How single-byte characters convert to multibyte.
- 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.
- 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.
Major Modes[edit]
- Choosing Modes: How major modes are specified or chosen.
Indentation[edit]
- 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[edit]
- 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.
- TeX Mode: Editing input to the formatter TeX.
- HTML Mode: Editing HTML, SGML, and XML files.
- Nroff Mode: Editing input to the formatter nroff.
- Formatted Text: Editing formatted text directly in WYSIWYG fashion.
- Text Based Tables: Editing text-based tables in WYSIWYG fashion.
Filling Text[edit]
- Auto Fill: Auto Fill mode breaks long lines automatically.
- Refill: Keeping paragraphs filled.
- 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.
- Longlines: Editing text with very long lines.
Outline Mode[edit]
- Format: What the text of an outline looks like.
- Motion: Special commands for moving through outlines.
- Visibility: Commands to control what is visible.
- Views: Outlines and multiple views.
- Foldout: Folding means zooming in on outlines.
TeX Mode[edit]
- Editing: Special commands for editing in TeX mode.
- LaTeX: Additional commands for LaTeX input files.
- Printing: Commands for printing part of a file with TeX.
- Misc: Customization of TeX mode, and related features.
Editing Formatted Text[edit]
- Requesting Formatted Text: Entering and exiting Enriched mode.
- Hard and Soft Newlines: There are two different kinds of newlines.
- Editing Format Info: How to edit text properties.
- Faces: Bold, italic, underline, etc.
- Color: Changing the color of text.
- Indent: Changing the left and right margins.
- Justification Centering, setting text flush with the left or right margin, etc.
- Other: The "special" text properties submenu.
- Forcing Enriched Mode: How to force use of Enriched mode.
Editing Text-based Tables[edit]
- 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.
- Row Commands: Manipulating rows of table cell.
- Column Commands: Manipulating columns of table cell.
- Fixed Width Mode: Fixing cell width.
- Table Conversion: Converting between plain text and tables.
- Measuring Tables: Analyzing table dimension.
- Table Misc: Table miscellany.
Editing Programs[edit]
- 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.
- Glasses: Making identifiersLikeThis more readable.
- Misc for Programs: Other Emacs features useful for editing programs.
- C Modes: Special commands of C, C++, Objective-C, Java, and Pike modes.
- Asm Mode: Asm mode and its special features.
- Fortran: Fortran mode and its special features.
Top-Level Definitions, or Defuns[edit]
- 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[edit]
- 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[edit]
- 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[edit]
- 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[edit]
- 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[edit]
- 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.
Compiling and Testing Programs[edit]
- 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: Creating Lisp programs to run in 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[edit]
- 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 through Emacs.
Maintaining Large Programs[edit]
- Change Log: Maintaining a change history for your program.
- Format of ChangeLog: What the change log file looks like.
- Tags: Go direct to any function in your program in one command. Tags remembers which file it is in.
- Emerge: A convenient way of merging two versions of a program.
Tags Tables[edit]
- 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: Listing and finding tags defined in a file.
Abbrevs[edit]
- 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[edit]
- 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[edit]
- Mail Format: Format of the mail being composed.
- Mail Headers: Details of permitted mail header fields.
- Mail Aliases: Abbreviating and grouping mail addresses.
- Mail Mode: Special commands for editing mail being composed.
- Mail Amusements: Distract the NSA's attention; add a fortune to a msg.
- Mail Methods: Using alternative mail-composition methods.
Reading Mail with Rmail[edit]
- 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.
- Out of Rmail: Converting an Rmail file to mailbox format.
- 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
Dired, the Directory Editor[edit]
- Dired Enter: How to invoke Dired.
- Dired Navigation: How to move 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[edit]
- 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[edit]
- 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[edit]
- 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.
- Mayan Calendar: Moving to a date specified in a Mayan calendar.
The Diary[edit]
- 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.
Gnus[edit]
- Buffers of Gnus: The group, summary, and article buffers.
- Gnus Startup: What you should know about starting Gnus.
- Summary of Gnus: A short description of the basic Gnus commands.
Running Shell Commands from Emacs[edit]
- 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.
- Paging in Term: Paging in the terminal emulator.
- Remote Host: Connecting to another computer.
Using Emacs as a Server[edit]
- Invoking emacsclient: Emacs client startup options.
Printing Hard Copies[edit]
- PostScript: Printing buffers or regions as PostScript.
- PostScript Variables: Customizing the PostScript printing commands.
- Printing Package: An optional advanced printing interface.
[edit]
- Browse-URL: Following URLs.
- Goto-address: Activating URLs.
- FFAP: Finding files etc. at point.
Customization[edit]
- Minor Modes: Each minor mode is one feature you can turn on independently of any others.
- Easy Customization: Convenient way to browse and change user options.
- 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".
- Syntax: The syntax table controls how words and expressions are parsed.
- Init File: How to write common customizations in the .emacs file.
Variables[edit]
- 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.
Customizing Key Bindings[edit]
- 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 init file, .emacs.
- 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 Init File, ~/.emacs[edit]
- 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[edit]
- 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.
- After a Crash: Recovering editing in an Emacs session that crashed.
- Emergency Escape: Emergency escape--- What to do if Emacs stops responding.
- Total Frustration: When you are at your wits' end.
Reporting Bugs[edit]
- 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[edit]
- 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.
- Resume Arguments: Specifying arguments when you resume a running Emacs.
- 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: 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[edit]
- 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[edit]
- Resources: Using X resources with Emacs (in general).
- Table of Resources: Table of specific X resources that affect Emacs.
- Face Resources: X resources for customizing faces.
- Lucid Resources: X resources for Lucid menus.
- LessTif Resources: X resources for LessTif and Motif menus.
- GTK resources: Resources for GTK widgets.
Emacs and Mac OS[edit]
- Mac Input: Keyboard and mouse input on Mac.
- Mac International: International character sets on Mac.
- Mac Environment Variables: Setting environment variables for Emacs.
- Mac Directories: Volumes and directories on Mac.
- Mac Font Specs: Specifying fonts on Mac.
- Mac Functions: Mac-specific Lisp functions.
Emacs and Microsoft Windows/MS-DOS[edit]
- 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.
- 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 Misc: Miscellaneous Windows features.
- MS-DOS: Using Emacs on MS-DOS (otherwise known as MS-DOG).
NOTE This document contains Invariant Sections. See below.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.2 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 freedom to copy and
modify this GNU Manual, like GNU software. Copies published by
the Free Software Foundation raise funds for GNU development.''
| This work is licensed under the terms of the GNU Free Documentation License. |