mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
1582 lines
70 KiB
Text
1582 lines
70 KiB
Text
\input texinfo @c -*- coding: iso-latin-1 -*-
|
||
|
||
@setfilename ../../info/emacs
|
||
@settitle GNU Emacs Manual
|
||
|
||
@c The edition number appears in several places in this file
|
||
@set EDITION Sixteenth
|
||
@include emacsver.texi
|
||
|
||
@copying
|
||
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
|
||
updated for Emacs version @value{EMACSVER}.
|
||
|
||
Copyright @copyright{} 1985-1987, 1993-2012 Free Software Foundation, Inc.
|
||
|
||
@quotation
|
||
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.''
|
||
@end quotation
|
||
@end copying
|
||
|
||
@documentencoding ISO-8859-1
|
||
|
||
@dircategory Emacs
|
||
@direntry
|
||
* Emacs: (emacs). The extensible self-documenting text editor.
|
||
@end direntry
|
||
|
||
@c in general, keep the following line commented out, unless doing a
|
||
@c copy of this manual that will be published. The manual should go
|
||
@c onto the distribution in the full, 8.5 x 11" size.
|
||
@c @smallbook
|
||
|
||
@ifset smallbook
|
||
@smallbook
|
||
@end ifset
|
||
|
||
@c per rms and peterb, use 10pt fonts for the main text, mostly to
|
||
@c save on paper cost.
|
||
@c Do this inside @tex for now, so current makeinfo does not complain.
|
||
@tex
|
||
@ifset smallbook
|
||
@fonttextsize 10
|
||
\global\let\urlcolor=\Black % don't print links in grayscale
|
||
\global\let\linkcolor=\Black
|
||
@end ifset
|
||
\global\hbadness=6666 % don't worry about not-too-underfull boxes
|
||
@end tex
|
||
|
||
@defcodeindex op
|
||
@synindex pg cp
|
||
|
||
@iftex
|
||
@kbdinputstyle code
|
||
|
||
@shorttitlepage GNU Emacs Manual
|
||
@end iftex
|
||
|
||
@titlepage
|
||
@sp 6
|
||
@center @titlefont{GNU Emacs Manual}
|
||
@sp 4
|
||
@center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
|
||
@sp 5
|
||
@center Richard Stallman
|
||
@page
|
||
@vskip 0pt plus 1filll
|
||
@insertcopying
|
||
|
||
@sp 2
|
||
Published by the Free Software Foundation @*
|
||
51 Franklin Street, Fifth Floor @*
|
||
Boston, MA 02110-1301 USA @*
|
||
ISBN 1-882114-86-8
|
||
|
||
@sp 2
|
||
Cover art by Etienne Suvasa.
|
||
|
||
@end titlepage
|
||
|
||
|
||
@summarycontents
|
||
@contents
|
||
|
||
|
||
@ifnottex
|
||
@node Top, Distrib, (dir), (dir)
|
||
@top 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 the ways to customize it; it corresponds to GNU Emacs version
|
||
@value{EMACSVER}.
|
||
|
||
@ifinfo
|
||
If you are reading this in Emacs, type @kbd{h} to read a basic
|
||
introduction to the Info documentation system.
|
||
@end ifinfo
|
||
|
||
For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The
|
||
Emacs Lisp Reference Manual}.
|
||
|
||
@insertcopying
|
||
@end ifnottex
|
||
|
||
@c Note that the TeX version generates its own TOC, so the ifnottex's
|
||
@c here are not really necessary.
|
||
@menu
|
||
* Distrib:: How to get the latest Emacs distribution.
|
||
* Intro:: An introduction to Emacs concepts.
|
||
@c Note that in the printed manual, the glossary and indices come last.
|
||
* Glossary:: Terms used in this manual.
|
||
|
||
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.
|
||
|
||
* Acknowledgments:: Major contributors to GNU Emacs.
|
||
|
||
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-@acronym{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.
|
||
* 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.
|
||
@ifnottex
|
||
* Picture Mode:: Editing pictures made up of text characters.
|
||
@end ifnottex
|
||
* 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!
|
||
|
||
@c Do NOT modify the following 3 lines! They must have this form to
|
||
@c be correctly identified by `texinfo-multiple-files-update'. In
|
||
@c particular, the detailed menu header line MUST be identical to the
|
||
@c value of `texinfo-master-menu-header'. See texnfo-upd.el.
|
||
|
||
@detailmenu
|
||
--- The 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
|
||
|
||
* 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.
|
||
|
||
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:: Recovering killed text. Moving text. (Pasting.)
|
||
* Cut and Paste:: Clipboard and selections on graphical displays.
|
||
* Accumulating Text:: Other ways of copying text.
|
||
* Rectangles:: Operating on text in rectangular areas.
|
||
* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank.
|
||
|
||
Deletion and Killing
|
||
|
||
* Deletion:: Commands for deleting small amounts of text and
|
||
blank areas.
|
||
* Killing by Lines:: How to kill entire lines of text at one time.
|
||
* 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.
|
||
|
||
Killing and Yanking on Graphical Displays
|
||
|
||
* Clipboard:: How Emacs interacts with 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.
|
||
* Bookmarks:: Bookmarks are like registers, but persistent.
|
||
|
||
Controlling the Display
|
||
|
||
* Scrolling:: Commands to move text up and down in a window.
|
||
* Recentering:: A scrolling 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.
|
||
* 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.
|
||
* Isearch Scroll:: Scrolling during an incremental search.
|
||
* 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.
|
||
@ifnottex
|
||
* Autorevert:: Auto Reverting non-file buffers.
|
||
@end ifnottex
|
||
* Auto Save:: Auto Save periodically protects against loss of data.
|
||
* File Aliases:: Handling multiple names for one file.
|
||
* Directories:: Creating, deleting, and listing file directories.
|
||
* 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.
|
||
|
||
@ifnottex
|
||
Auto Reverting Non-File Buffers
|
||
|
||
* Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu.
|
||
* Auto Reverting Dired:: Auto Revert of Dired buffers.
|
||
* Supporting additional buffers:: How to add more Auto Revert support.
|
||
@end ifnottex
|
||
|
||
Auto-Saving: Protection Against Disasters
|
||
|
||
* 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-onlyness; 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.
|
||
* Iswitchb:: Switching between buffers with substrings.
|
||
* 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 Buffers
|
||
|
||
* Window Choice:: How @code{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:: 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 terminals.
|
||
|
||
International Character Set Support
|
||
|
||
* International Chars:: Basic concepts of multibyte characters.
|
||
* Disabling 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.
|
||
* 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 @emph{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.
|
||
|
||
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.
|
||
|
||
Editing 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.
|
||
|
||
@c The automatic texinfo menu update inserts some duplicate items here
|
||
@c (faces, colors, indentation, justification, properties), because
|
||
@c they are listed in two menus. But we already have them above, no
|
||
@c need to list them twice.
|
||
|
||
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.
|
||
* Glasses:: Making identifiersLikeThis more readable.
|
||
* 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.
|
||
@ifnottex
|
||
* Fortran:: Fortran mode and its special features.
|
||
@end ifnottex
|
||
|
||
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.
|
||
|
||
@ifnottex
|
||
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.
|
||
@end ifnottex
|
||
|
||
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.
|
||
@ifnottex
|
||
* Emerge:: A convenient way of merging two versions of a program.
|
||
@end ifnottex
|
||
|
||
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 Directory Mode:: Listing files managed by version control.
|
||
* Branches:: Multiple lines of development.
|
||
@ifnottex
|
||
* Miscellaneous VC:: Various other commands and features of VC.
|
||
* Customizing VC:: Variables that change VC's behavior.
|
||
@end ifnottex
|
||
|
||
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:: Changesets in version control.
|
||
* 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.
|
||
|
||
Multiple Branches of a File
|
||
|
||
* Switching Branches:: How to get to another existing branch.
|
||
* VC Pull:: Updating a branch from another branch.
|
||
* Merging:: Transferring changes between branches.
|
||
* Creating Branches:: How to start a new branch.
|
||
|
||
@ifnottex
|
||
Miscellaneous Commands and Features of VC
|
||
|
||
* Change Logs and VC:: Generating a change log file from log entries.
|
||
* 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.
|
||
@end ifnottex
|
||
|
||
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 @code{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.
|
||
|
||
@ifnottex
|
||
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.
|
||
@end ifnottex
|
||
|
||
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.
|
||
|
||
@ifnottex
|
||
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.
|
||
@end ifnottex
|
||
|
||
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 @code{diff} by way of Dired.
|
||
* Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
|
||
@ifnottex
|
||
* Subdir Switches:: Subdirectory switches in Dired.
|
||
@end ifnottex
|
||
* Subdirectory Motion:: Moving across subdirectories, and up and down.
|
||
* Hiding Subdirectories:: Making subdirectories visible or invisible.
|
||
* Dired Updating:: Discarding lines for files of no interest.
|
||
* Dired and Find:: Using @code{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.
|
||
@ifnottex
|
||
* Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization.
|
||
@end ifnottex
|
||
|
||
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.
|
||
* Mayan Calendar:: Moving to a date specified in a Mayan 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.
|
||
|
||
@ifnottex
|
||
Customizing the Calendar and Diary
|
||
|
||
* Calendar Customizing:: Calendar layout and hooks.
|
||
* Holiday Customizing:: Defining your own holidays.
|
||
* 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.
|
||
@end ifnottex
|
||
|
||
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.
|
||
|
||
Sending Mail
|
||
|
||
* Mail Format:: Format of the mail being composed.
|
||
* 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.
|
||
|
||
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 @samp{!}-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:: Keymaps say what command each key runs.
|
||
By changing them, you can "redefine" keys.
|
||
* Init File:: How to write common customizations in the
|
||
@file{.emacs} 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 init file, @file{.emacs}.
|
||
* Modifier Keys:: Using modifier keys in key bindings.
|
||
* Function Keys:: Rebinding terminal function keys.
|
||
* Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{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, @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.
|
||
* Find Init:: How Emacs finds the init file.
|
||
* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file.
|
||
|
||
Dealing with Emacs Trouble
|
||
|
||
* DEL Does Not Delete:: What to do if @key{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:: 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.
|
||
* LessTif Resources:: X resources for LessTif and Motif 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 @code{ls} for Dired.
|
||
* Windows HOME:: Where Emacs looks for your @file{.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 Fonts:: Specifying fonts on MS-Windows.
|
||
* Windows Misc:: Miscellaneous Windows features.
|
||
@ifnottex
|
||
* 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.
|
||
@end ifnottex
|
||
|
||
@end detailmenu
|
||
@end menu
|
||
|
||
@iftex
|
||
@unnumbered Preface
|
||
|
||
This manual documents the use and simple customization of the Emacs
|
||
editor. Simple Emacs customizations do not require you to be a
|
||
programmer, but if you are not interested in customizing, you can
|
||
ignore the customization hints.
|
||
|
||
This is primarily a reference manual, but can also be used as a
|
||
primer. If you are new to Emacs, we recommend you start with
|
||
the integrated, learn-by-doing tutorial, before reading the manual. To
|
||
run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial
|
||
describes commands, tells you when to try them, and explains the
|
||
results. The tutorial is available in several languages.
|
||
|
||
On first reading, just skim chapters 1 and 2, which describe the
|
||
notational conventions of the manual and the general appearance of the
|
||
Emacs display screen. Note which questions are answered in these
|
||
chapters, so you can refer back later. After reading chapter 4, you
|
||
should practice the commands shown there. The next few chapters
|
||
describe fundamental techniques and concepts that are used constantly.
|
||
You need to understand them thoroughly, so experiment with them
|
||
until you are fluent.
|
||
|
||
Chapters 14 through 19 describe intermediate-level features that are
|
||
useful for many kinds of editing. Chapter 20 and following chapters
|
||
describe optional but useful features; read those chapters when you
|
||
need them.
|
||
|
||
Read the Common Problems chapter if Emacs does not seem to be
|
||
working properly. It explains how to cope with several common
|
||
problems (@pxref{Lossage,, Dealing with Emacs Trouble}), as well as
|
||
when and how to report Emacs bugs (@pxref{Bugs}).
|
||
|
||
To find the documentation of a particular command, look in the index.
|
||
Keys (character commands) and command names have separate indexes.
|
||
There is also a glossary, with a cross reference for each term.
|
||
|
||
This manual is available as a printed book and also as an Info file.
|
||
The Info file is for reading from Emacs itself, or with the Info program.
|
||
Info is the principal format for documentation in the GNU system.
|
||
The Info file and the printed book contain substantially the same text
|
||
and are generated from the same source files, which are also
|
||
distributed with GNU Emacs.
|
||
|
||
GNU Emacs is a member of the Emacs editor family. There are many
|
||
Emacs editors, all sharing common principles of organization. For
|
||
information on the underlying philosophy of Emacs and the lessons
|
||
learned from its development, see @cite{Emacs, the Extensible,
|
||
Customizable Self-Documenting Display Editor}, available from
|
||
@url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}.
|
||
|
||
This version of the manual is mainly intended for use with GNU Emacs
|
||
installed on GNU and Unix systems. GNU Emacs can also be used on
|
||
MS-DOS, Microsoft Windows, and Macintosh systems. The Info file
|
||
version of this manual contains some more information about using
|
||
Emacs on those systems. Those systems use different file name syntax;
|
||
in addition MS-DOS does not support all GNU Emacs features.
|
||
@xref{Microsoft Windows}, for information about using Emacs on
|
||
Windows. @xref{Mac OS / GNUstep}, for information about using Emacs
|
||
on Macintosh (and GNUstep).
|
||
@end iftex
|
||
|
||
@node Distrib, Intro, Top, Top
|
||
@unnumbered Distribution
|
||
|
||
GNU Emacs is @dfn{free software}; this means that everyone is free to
|
||
use it and free to redistribute it under certain conditions. GNU Emacs
|
||
is not in the public domain; it is copyrighted and there are
|
||
restrictions on its distribution, but these restrictions are designed
|
||
to permit everything that a good cooperating citizen would want to do.
|
||
What is not allowed is to try to prevent others from further sharing
|
||
any version of GNU Emacs that they might get from you. The precise
|
||
conditions are found in the GNU General Public License that comes with
|
||
Emacs and also appears in this manual@footnote{This manual is itself
|
||
covered by the GNU Free Documentation License. This license is
|
||
similar in spirit to the General Public License, but is more suitable
|
||
for documentation. @xref{GNU Free Documentation License}.}.
|
||
@xref{Copying}.
|
||
|
||
One way to get a copy of GNU Emacs is from someone else who has it.
|
||
You need not ask for our permission to do so, or tell any one else;
|
||
just copy it. If you have access to the Internet, you can get the
|
||
latest distribution version of GNU Emacs by anonymous FTP; see
|
||
@url{http://www.gnu.org/software/emacs} on our website for more
|
||
information.
|
||
|
||
You may also receive GNU Emacs when you buy a computer. Computer
|
||
manufacturers are free to distribute copies on the same terms that apply to
|
||
everyone else. These terms require them to give you the full sources,
|
||
including whatever changes they may have made, and to permit you to
|
||
redistribute the GNU Emacs received from them under the usual terms of the
|
||
General Public License. In other words, the program must be free for you
|
||
when you get it, not just free for the manufacturer.
|
||
|
||
If you find GNU Emacs useful, please @strong{send a donation} to the
|
||
Free Software Foundation to support our work. Donations to the Free
|
||
Software Foundation are tax deductible in the US. If you use GNU Emacs
|
||
at your workplace, please suggest that the company make a donation.
|
||
For more information on how you can help, see
|
||
@url{http://www.gnu.org/help/help.html}.
|
||
|
||
We also sell hardcopy versions of this manual and @cite{An
|
||
Introduction to Programming in Emacs Lisp}, by Robert J.@: Chassell.
|
||
You can visit our online store at @url{http://shop.fsf.org/}.
|
||
The income from sales goes to support the foundation's purpose: the
|
||
development of new free software, and improvements to our existing
|
||
programs including GNU Emacs.
|
||
|
||
If you need to contact the Free Software Foundation, see
|
||
@url{http://www.fsf.org/about/contact/}, or write to
|
||
|
||
@display
|
||
Free Software Foundation
|
||
51 Franklin Street, Fifth Floor
|
||
Boston, MA 02110-1301
|
||
USA
|
||
@end display
|
||
|
||
@iftex
|
||
@node Acknowledgments, Intro, Distrib, Top
|
||
@unnumberedsec Acknowledgments
|
||
|
||
Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
|
||
Abrahamsson, Jay K.@: Adams, Alon Albert, Michael Albinus, Nagy
|
||
Andras, Benjamin Andresen, Ralf Angeli, Joe Arceneaux, Emil <20>str<74>m,
|
||
Miles Bader, David Bakhash, Juanma Barranquero, Eli Barzilay, Thomas
|
||
Baumann, Steven L.@: Baur, Jay Belanger, Alexander L.@: Belikoff,
|
||
Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Karl
|
||
Berry, Anna M.@: Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan
|
||
Bockg<EFBFBD>rd, Jan B<>cker, Joel Boehland, Lennart Borgman, Per Bothner,
|
||
Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin
|
||
Broadey, Vincent Broman, Michael Brouwer, David M.@: Brown, Stefan Bruda,
|
||
Georges Brun-Cottan, Joe Buehler, Scott Byer, W@l{}odek Bzyl,
|
||
Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris Chase, Bob
|
||
Chassell, Andrew Choi, Chong Yidong, Sacha Chua, Stewart Clamen, James
|
||
Clark, Mike Clarkson, Glynn Clements, Andrew Cohen, Daniel Colascione,
|
||
Edward O'Connor, Christoph Conrad, Ludovic Court<72>s, Andrew Csillag,
|
||
Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Julien Danjou, Satyaki
|
||
Das, Vivek Dasmohapatra, Dan Davison, Michael DeCorte, Gary Delp, Nachum
|
||
Dershowitz, Dave Detlefs, Matthieu Devin, Christophe de Dinechin, Eri
|
||
Ding, Jan Dj<44>rv, Lawrence R.@: Dodd, Carsten Dominik, Scott Draves,
|
||
Benjamin Drieu, Viktor Dukhovni, Jacques Duthen, Dmitry Dzhus, John
|
||
Eaton, Rolf Ebert, Carl Edman, David Edmondson, Paul Eggert, Stephen
|
||
Eglen, Christian Egli, Torbj<62>rn Einarsson, Tsugutomo Enami, David
|
||
Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
|
||
Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Karl Fogel, Gary
|
||
Foster, Eric S.@: Fraga, Romain Francoise, Noah Friedman, Andreas
|
||
Fuchs, Shigeru Fukaya, Hallvard Furuseth, Keith Gabryelski, Peter S.@:
|
||
Galbraith, Kevin Gallagher, Kevin Gallo, Juan Le<4C>n Lahoz Garc<72>a,
|
||
Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
|
||
Gillespie, Bob Glickstein, Deepak Goel, David De La Harpe Golden, Boris
|
||
Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd
|
||
Gripenstam, Kai Gro<72>johann, Michael Gschwind, Bastien Guerry, Henry
|
||
Guillaume, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris
|
||
Hanson, Jesper Harder, Alexandru Harsanyi, K.@: Shane Hartman, John
|
||
Heidemann, Jon K.@: Hellan, Magnus Henoch, Markus Heritsch, Dirk
|
||
Herrmann, Karl Heuer, Manabu Higashida, Konrad Hinsen, Anders Holst,
|
||
Jeffrey C.@: Honig, Tassilo Horn, Kurt Hornik, Tom Houlder, Joakim
|
||
Hove, Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue,
|
||
Philip Jackson, Martyn Jago, Pavel Janik, Paul Jarc, Ulf Jasper,
|
||
Thorsten Jolitz, Michael K.@: Johnson, Kyle Jones, Terry Jones, Simon
|
||
Josefsson, Alexandre Julliard, Arne J<>rgensen, Tomoji Kagatani,
|
||
Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Ivan Kanis, David
|
||
Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi,
|
||
Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel
|
||
Kl<EFBFBD>@v{c}, Shuhei Kobayashi, Pavel Kobyakov, Larry K.@: Kolodney, David
|
||
M.@: Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer,
|
||
Ryszard Kubiak, Igor Kuzmin, David K<>gedal, Daniel LaLiberte, Karl
|
||
Landstrom, Mario Lang, Aaron Larson, James R.@: Larus, Vinicius Jose
|
||
Latorre, Werner Lemberg, Frederic Lepied, Peter Liljenberg, Christian
|
||
Limpach, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link,
|
||
Juri Linkov, Francis Litterio, Sergey Litvinov, Emilio C.@: Lopes,
|
||
Martin Lorentzon, Dave Love, Eric Ludlam, K<>roly L@H{o}rentey, Sascha
|
||
L<EFBFBD>decke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie,
|
||
Christopher J.@: Madsen, Neil M.@: Mager, Ken Manheimer, Bill Mann,
|
||
Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin,
|
||
Yukihiro Matsumoto, David Maus, Thomas May, Will Mengarini, David
|
||
Megginson, Stefan Merten, Ben A.@: Mesander, Wayne Mesard, Brad
|
||
Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan
|
||
Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris,
|
||
Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum,
|
||
Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen,
|
||
Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff Norden,
|
||
Andrew Norman, Kentaro Ohkouchi, Christian Ohler,
|
||
Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota,
|
||
Pieter E.@: J.@: Pareit, Ross Patterson, David Pearson, Juan Pechiar,
|
||
Jeff Peck, Damon Anton Permezel, Tom Perrine, William M.@: Perry, Per
|
||
Persson, Jens Petersen, Daniel Pfeiffer, Justus Piater, Richard L.@:
|
||
Pieri, Fred Pierresteguy, Fran<61>ois Pinard, Daniel Pittman, Christian
|
||
Plaunt, Alexander Pohoyda, David Ponce, Francesco A.@: Potorti,
|
||
Michael D.@: Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin
|
||
Ram, Eric S.@: Raymond, Paul Reilly, Edward M.@: Reingold, David
|
||
Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick
|
||
Roberts, Roland B.@: Roberts, John Robinson, Denis B.@: Roegel, Danny
|
||
Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo
|
||
J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang
|
||
Rupprecht, Benjamin Rutt, Kevin Ryde, James B.@: Salem, Masahiko Sato,
|
||
Timo Savola, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph
|
||
Schleicher, Gregor Schmid, Michael Schmidt, Ronald S.@: Schnell,
|
||
Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef,
|
||
Rainer Schoepf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal
|
||
Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham,
|
||
Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor
|
||
@v{S}imko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith,
|
||
David Smith, Paul D.@: Smith, Wilson Snyder, William Sommerfeld, Simon
|
||
South, Andre Spiegel, Michael Staats, Thomas Steffen, Ulf Stegemann,
|
||
Reiner Steib, Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken
|
||
Stevens, Andy Stewart, Jonathan Stigelman, Martin Stjernholm, Kim F.@:
|
||
Storm, Steve Strassmann, Christopher Suckling, Olaf Sylvester, Naoto
|
||
Takahashi, Steven Tamm, Luc Teirlinck, Jean-Philippe Theberge, Jens
|
||
T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Toru Tomabechi,
|
||
David O'Toole, Markus Triska, Tom Tromey, Enami Tsugutomo, Eli
|
||
Tziperman, Daiki Ueno, Masanobu Umeda, Rajesh Vaidheeswarran, Neil
|
||
W.@: Van Dyke, Didier Verna, Joakim Verona, Ulrik Vieth, Geoffrey
|
||
Voelker, Johan Vromans, Inge Wallin, John Paul Wallington, Colin
|
||
Walters, Barry Warsaw, Christoph Wedler, Ilja Weis, Zhang Weize,
|
||
Morten Welinder, Joseph Brian Wells, Rodney Whitby, John Wiegley,
|
||
Sascha Wilde, Ed Wilkinson, Mike Williams, Roland Winkler, Bill
|
||
Wohler, Steven A.@: Wood, Dale R.@: Worley, Francis J.@: Wright, Felix
|
||
S.@: T.@: Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka,
|
||
Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan
|
||
Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin,
|
||
Shenghuo Zhu, Piotr Zielinski, Ian T.@: Zimmermann, Reto Zimmermann,
|
||
Neal Ziring, Teodor Zlatanov, and Detlev Zundel.
|
||
@end iftex
|
||
|
||
@node Intro, Glossary, Distrib, Top
|
||
@unnumbered Introduction
|
||
|
||
You are reading about GNU Emacs, the GNU incarnation of the
|
||
advanced, self-documenting, customizable, extensible editor Emacs.
|
||
(The `G' in `GNU' is not silent.)
|
||
|
||
We call Emacs @dfn{advanced} because it can do much more than simple
|
||
insertion and deletion of text. It can control subprocesses, indent
|
||
programs automatically, show multiple files at once, and more.
|
||
Emacs editing commands operate in terms of characters, words, lines,
|
||
sentences, paragraphs, and pages, as well as expressions and comments
|
||
in various programming languages.
|
||
|
||
@dfn{Self-documenting} means that at any time you can use special
|
||
commands, known as @dfn{help commands}, to find out what your options
|
||
are, or to find out what any command does, or to find all the
|
||
commands that pertain to a given topic. @xref{Help}.
|
||
|
||
@dfn{Customizable} means that you can easily alter the behavior of
|
||
Emacs commands in simple ways. For instance, if you use a programming
|
||
language in which comments start with @samp{<**} and end with
|
||
@samp{**>}, you can tell the Emacs comment manipulation commands to
|
||
use those strings (@pxref{Comments}). To take another example, you
|
||
can rebind the basic cursor motion commands (up, down, left and right)
|
||
to any keys on the keyboard that you find comfortable.
|
||
@xref{Customization}.
|
||
|
||
@dfn{Extensible} means that you can go beyond simple customization
|
||
and create entirely new commands. New commands are simply programs
|
||
written in the Lisp language, which are run by Emacs's own Lisp
|
||
interpreter. Existing commands can even be redefined in the middle of
|
||
an editing session, without having to restart Emacs. Most of the
|
||
editing commands in Emacs are written in Lisp; the few exceptions
|
||
could have been written in Lisp but use C instead for efficiency.
|
||
Writing an extension is programming, but non-programmers can use it
|
||
afterwards. @xref{Top, Emacs Lisp Intro, Preface, eintr, An
|
||
Introduction to Programming in Emacs Lisp}, if you want to learn Emacs
|
||
Lisp programming.
|
||
|
||
@include screen.texi
|
||
@include commands.texi
|
||
@include entering.texi
|
||
@include basic.texi
|
||
@include mini.texi
|
||
@include m-x.texi
|
||
@include help.texi
|
||
@include mark.texi
|
||
@include killing.texi
|
||
@include regs.texi
|
||
@include display.texi
|
||
@include search.texi
|
||
@include fixit.texi
|
||
@include kmacro.texi
|
||
@c Includes arevert-xtra.
|
||
@include files.texi
|
||
@include buffers.texi
|
||
@include windows.texi
|
||
@include frames.texi
|
||
@include mule.texi
|
||
@include modes.texi
|
||
@include indent.texi
|
||
@include text.texi
|
||
@c Includes fortran-xtra.
|
||
@include programs.texi
|
||
@include building.texi
|
||
@c Includes vc1-xtra, emerge-xtra.
|
||
@include maintaining.texi
|
||
@include abbrevs.texi
|
||
@c Includes dired-xtra.
|
||
@include dired.texi
|
||
@c Includes cal-xtra.
|
||
@include calendar.texi
|
||
@include sending.texi
|
||
@include rmail.texi
|
||
@c Includes picture-xtra.texi
|
||
@include misc.texi
|
||
@include package.texi
|
||
@include custom.texi
|
||
@include trouble.texi
|
||
|
||
@node Copying, GNU Free Documentation License, Service, Top
|
||
@appendix GNU GENERAL PUBLIC LICENSE
|
||
@include gpl.texi
|
||
|
||
@node GNU Free Documentation License, Emacs Invocation, Copying, Top
|
||
@appendix GNU Free Documentation License
|
||
@include doclicense.texi
|
||
|
||
@include cmdargs.texi
|
||
@include xresources.texi
|
||
|
||
@include anti.texi
|
||
@include macos.texi
|
||
@c Includes msdog-xtra.
|
||
@include msdog.texi
|
||
@include gnu.texi
|
||
@include glossary.texi
|
||
@ifnottex
|
||
@include ack.texi
|
||
@end ifnottex
|
||
|
||
@c The Option Index is produced only in the on-line version,
|
||
@c because the index entries related to command-line options
|
||
@c tend to point to the same pages and all begin with a dash.
|
||
@c This, and the need to keep the node links consistent, are
|
||
@c the reasons for the funky @iftex/@ifnottex dance below.
|
||
@c The Option Index is _not_ before Key Index, because that
|
||
@c would require changes in the glossary.texi's @node line.
|
||
@c It is not after Concept Index for similar reasons.
|
||
|
||
@iftex
|
||
@node Key Index, Command Index, Glossary, Top
|
||
@unnumbered Key (Character) Index
|
||
@printindex ky
|
||
@end iftex
|
||
|
||
@ifnottex
|
||
@node Key Index, Option Index, Glossary, Top
|
||
@unnumbered Key (Character) Index
|
||
@printindex ky
|
||
|
||
@node Option Index, Command Index, Key Index, Top
|
||
@unnumbered Command-Line Options Index
|
||
@printindex op
|
||
|
||
@node Command Index, Variable Index, Option Index, Top
|
||
@unnumbered Command and Function Index
|
||
@printindex fn
|
||
@end ifnottex
|
||
|
||
@iftex
|
||
@node Command Index, Variable Index, Key Index, Top
|
||
@unnumbered Command and Function Index
|
||
@printindex fn
|
||
@end iftex
|
||
|
||
@node Variable Index, Concept Index, Command Index, Top
|
||
@unnumbered Variable Index
|
||
@printindex vr
|
||
|
||
@node Concept Index, Acknowledgments, Variable Index, Top
|
||
@unnumbered Concept Index
|
||
@printindex cp
|
||
|
||
@bye
|