mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-08 21:29:37 +00:00
1691 lines
75 KiB
Text
1691 lines
75 KiB
Text
\input texinfo @c -*- coding: utf-8 -*-
|
|
|
|
@setfilename ../../info/emacs.info
|
|
@settitle GNU Emacs Manual
|
|
@include docstyle.texi
|
|
@include emacsver.texi
|
|
|
|
@c When printing, define EDITION to be the printed edition number, in
|
|
@c the preferred style for ordinal edition numbers. E.g., run the
|
|
@c shell command "texi2any -D 'EDITION Nineteenth'" for the 19th
|
|
@c printed edition where the edition number is spelled out in English.
|
|
@c This relates mainly to the published book sold by the FSF.
|
|
|
|
@copying
|
|
@ifset EDITION
|
|
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
|
|
@end ifset
|
|
@ifclear EDITION
|
|
This is the @cite{GNU Emacs Manual},
|
|
@end ifclear
|
|
updated for Emacs version @value{EMACSVER}.
|
|
|
|
Copyright @copyright{} 1985--2024 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
|
|
|
|
@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 @set 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
|
|
@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
|
|
@ifset EDITION
|
|
@center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
|
|
@end ifset
|
|
@ifclear EDITION
|
|
@center Updated for Emacs Version @value{EMACSVER}
|
|
@end ifclear
|
|
@sp 5
|
|
@center Richard Stallman et al.
|
|
@page
|
|
@vskip 0pt plus 1filll
|
|
@insertcopying
|
|
|
|
@sp 2
|
|
Published by the Free Software Foundation @*
|
|
31 Milk Street, # 960789 @*
|
|
Boston, MA 02196 @*
|
|
ISBN 978-0-9831592-8-5
|
|
|
|
@sp 2
|
|
Cover art by Etienne Suvasa; cover design by FSF staff.
|
|
|
|
@end titlepage
|
|
|
|
@headings double
|
|
|
|
@summarycontents
|
|
@contents
|
|
|
|
|
|
@ifnottex
|
|
@node Top
|
|
@top The Emacs Editor
|
|
|
|
Emacs is the advanced, extensible, customizable, self-documenting
|
|
editor. This manual describes how to edit with Emacs and some of the
|
|
ways to customize it; it corresponds to GNU Emacs version @value{EMACSVER}.
|
|
|
|
@c See 'manual-html-mono' and 'manual-html-node' in admin/admin.el.
|
|
@ifset WWW_GNU_ORG
|
|
@html
|
|
The GNU Emacs website is at
|
|
<a href="/software/emacs/">https://www.gnu.org/software/emacs/</a>.<br>
|
|
To view this manual in other formats, click
|
|
<a href="/software/emacs/manual/emacs.html">here</a>.<br>
|
|
You can also purchase a printed copy from the
|
|
<a href="https://shop.fsf.org/product/emacs-manual/">FSF store</a>.
|
|
@end html
|
|
@end ifset
|
|
|
|
@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.
|
|
|
|
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.
|
|
* Mouse Input:: Using the mouse and keypads.
|
|
* Commands:: Named functions run by key sequences to do editing.
|
|
* Other Input:: Input besides the mouse, keyboard and keypads.
|
|
* 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 (pasting) 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.
|
|
* Host Security:: Security issues on a single computer.
|
|
* Network Security:: Managing the network security.
|
|
* 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.
|
|
* 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 29.
|
|
* Mac OS / GNUstep:: Using Emacs under macOS and GNUstep.
|
|
* Haiku:: Using Emacs on Haiku.
|
|
* Android:: Using Emacs on Android.
|
|
* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
|
|
* Manifesto:: What's GNU? Gnu's Not Unix!
|
|
|
|
* Glossary:: Terms used in this manual.
|
|
@ifnottex
|
|
* Acknowledgments:: Major contributors to GNU Emacs.
|
|
@end ifnottex
|
|
|
|
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 standard command name.
|
|
* Variable Index:: An item for each variable documented in this manual.
|
|
* Concept Index:: An item for concepts and other general subjects.
|
|
|
|
@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.
|
|
|
|
Touchscreen Input and Virtual Keyboards
|
|
* Touchscreens:: Interacting with Emacs from touchscreens.
|
|
* On-Screen Keyboards:: Text input with virtual keyboards.
|
|
|
|
Basic Editing Commands
|
|
|
|
* Inserting Text:: Inserting text by simply typing it.
|
|
* Moving Point:: Moving the cursor to the place where you want to
|
|
change something.
|
|
* Erasing:: Deleting and killing text.
|
|
* Basic Undo:: Undoing recent changes in the text.
|
|
* Basic Files:: Visiting, creating, and saving files.
|
|
* Basic Help:: Asking what a character does.
|
|
* Blank Lines:: Making and deleting blank lines.
|
|
* Continuation Lines:: How Emacs displays lines too wide for the screen.
|
|
* Position Info:: What line, row, or column is point on?
|
|
* Arguments:: Numeric arguments for repeating a command N times.
|
|
* Repeating:: Repeating the previous command quickly.
|
|
|
|
The Minibuffer
|
|
|
|
* Basic Minibuffer:: Basic usage of the minibuffer.
|
|
* Minibuffer File:: Entering file names with the minibuffer.
|
|
* Minibuffer Edit:: How to edit in the minibuffer.
|
|
* Completion:: An abbreviation facility for minibuffer input.
|
|
* Minibuffer History:: Reusing recent minibuffer arguments.
|
|
* Repetition:: Re-executing commands that used the minibuffer.
|
|
* Passwords:: Entering passwords in the echo area.
|
|
* Yes or No Prompts:: Replying yes or no in the echo area.
|
|
|
|
Completion
|
|
|
|
* Completion Example:: Examples of using completion.
|
|
* Completion Commands:: A list of completion commands.
|
|
* Completion Exit:: Completion and minibuffer text submission.
|
|
* Completion Styles:: How completion matches are chosen.
|
|
* Completion Options:: Options for completion.
|
|
|
|
Help
|
|
|
|
* Help Summary:: Brief list of all Help commands.
|
|
* Key Help:: Asking what a key does in Emacs.
|
|
* Name Help:: Asking about a command, variable or function name.
|
|
* Apropos:: Asking what pertains to a given topic.
|
|
* Help Mode:: Special features of Help mode and Help buffers.
|
|
* Package Keywords:: Finding Lisp libraries by keywords (topics).
|
|
* Language Help:: Help relating to international language support.
|
|
* Misc Help:: Other help commands.
|
|
* Help Files:: Commands to display auxiliary help files.
|
|
* Help Echo:: Help on active text and tooltips.
|
|
|
|
The Mark and the Region
|
|
|
|
* Setting Mark:: Commands to set the mark.
|
|
* Marking Objects:: Commands to put region around textual units.
|
|
* Using Region:: Summary of ways to operate on contents of the region.
|
|
* Mark Ring:: Previous mark positions saved so you can go back there.
|
|
* Global Mark Ring:: Previous mark positions in various buffers.
|
|
* Shift Selection:: Using shifted cursor motion keys.
|
|
* Disabled Transient Mark:: Leaving regions unhighlighted by default.
|
|
|
|
Killing and Moving Text
|
|
|
|
* Deletion and Killing:: Commands that remove text.
|
|
* Yanking:: Commands that insert text.
|
|
* Cut and Paste:: Clipboard and selections on graphical displays.
|
|
* Accumulating Text:: Other methods to add text to the buffer.
|
|
* Rectangles:: Operating on text in rectangular areas.
|
|
* CUA Bindings:: Using @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.
|
|
|
|
Cut and Paste Operations on Graphical Displays
|
|
|
|
* Clipboard:: How Emacs uses the system clipboard.
|
|
* Primary Selection:: The temporarily selected text selection.
|
|
* Secondary Selection:: Cutting without altering point and mark.
|
|
|
|
Registers
|
|
|
|
* Position Registers:: Saving positions in registers.
|
|
* Text Registers:: Saving text in registers.
|
|
* Rectangle Registers:: Saving rectangles in registers.
|
|
* Configuration Registers:: Saving window/frame configurations in registers.
|
|
* Number Registers:: Numbers in registers.
|
|
* File and Buffer Registers:: File and buffer names in registers.
|
|
* Keyboard Macro Registers:: Keyboard macros in registers.
|
|
* Bookmarks:: Bookmarks are like registers, but persistent.
|
|
|
|
Controlling the Display
|
|
|
|
* Scrolling:: Commands to move text up and down in a window.
|
|
* Recentering:: A scroll command that centers the current line.
|
|
* Auto Scrolling:: Redisplay scrolls text automatically when needed.
|
|
* Horizontal Scrolling:: Moving text left and right in a window.
|
|
* Narrowing:: Restricting display and editing to a portion
|
|
of the buffer.
|
|
* View Mode:: Viewing read-only buffers.
|
|
* Follow Mode:: Follow mode lets two windows scroll as one.
|
|
* Faces:: How to change the display style using faces.
|
|
* Colors:: Specifying colors for faces.
|
|
* Standard Faces:: The main predefined faces.
|
|
* Text Scale:: Increasing or decreasing text size in a buffer.
|
|
* Font Lock:: Minor mode for syntactic highlighting using faces.
|
|
* Highlight Interactively:: Tell Emacs what text to highlight.
|
|
* Fringes:: Enabling or disabling window fringes.
|
|
* Displaying Boundaries:: Displaying top and bottom of the buffer.
|
|
* Useless Whitespace:: Showing possibly spurious trailing whitespace.
|
|
* Selective Display:: Hiding lines with lots of indentation.
|
|
* Optional Mode Line:: Optional mode line display features.
|
|
* Text Display:: How text characters are normally displayed.
|
|
* Cursor Display:: Features for displaying the cursor.
|
|
* Line Truncation:: Truncating lines to fit the screen width instead
|
|
of continuing them to multiple screen lines.
|
|
* Visual Line Mode:: Word wrap and screen line-based editing.
|
|
* Display Custom:: Information on variables for customizing display.
|
|
|
|
Font Lock
|
|
* Traditional Font Lock:: Font Lock based on regexps and syntax tables.
|
|
* Parser-based Font Lock:: Font Lock based on external parser.
|
|
|
|
Searching and Replacement
|
|
|
|
* Incremental Search:: Search happens as you type the string.
|
|
* Nonincremental Search:: Specify entire string and then search.
|
|
* Word Search:: Search for sequence of words.
|
|
* Symbol Search:: Search for a source code symbol.
|
|
* Regexp Search:: Search for match for a regexp.
|
|
* Regexps:: Syntax of regular expressions.
|
|
* Regexp Backslash:: Regular expression constructs starting with `\'.
|
|
* Regexp Example:: A complex regular expression explained.
|
|
* Lax Search:: Search ignores some distinctions between
|
|
similar characters, like letter-case.
|
|
* Replace:: Search, and replace some or all matches.
|
|
* Other Repeating Search:: Operating on all matches for some regexp.
|
|
* Search Customizations:: Various search customizations.
|
|
|
|
Incremental Search
|
|
|
|
* Basic Isearch:: Basic incremental search commands.
|
|
* Repeat Isearch:: Searching for the same string again.
|
|
* Isearch Yank:: Commands that grab text into the search string
|
|
or else edit the search string.
|
|
* Error in Isearch:: When your string is not found.
|
|
* Special Isearch:: Special input in incremental search.
|
|
* Not Exiting Isearch:: Prefix argument and scrolling commands.
|
|
* Isearch Minibuffer:: Incremental search of the minibuffer history.
|
|
|
|
Replacement Commands
|
|
|
|
* Unconditional Replace:: Replacing all matches for a string.
|
|
* Regexp Replace:: Replacing all matches for a regexp.
|
|
* Replacement and Lax Matches::
|
|
Lax searching for text to replace.
|
|
* 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.
|
|
* Auto Revert:: Keeping buffers automatically up-to-date.
|
|
* 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.
|
|
* Copying and Naming:: Copying, naming and renaming files.
|
|
* 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.
|
|
* Image Mode:: Viewing image 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.
|
|
@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-only status; copying text.
|
|
* Kill Buffer:: Killing buffers you no longer need.
|
|
* Several Buffers:: How to go through the list of all buffers
|
|
and operate variously on several of them.
|
|
* Indirect Buffers:: An indirect buffer shares the text of another buffer.
|
|
* Buffer Convenience:: Convenience and customization features for
|
|
buffer handling.
|
|
|
|
Convenience Features and Customization of Buffer Handling
|
|
|
|
* Uniquify:: Making buffer names unique with directory parts.
|
|
* Icomplete:: Fast minibuffer selection.
|
|
* Buffer Menus:: Configurable buffer menu.
|
|
|
|
Multiple Windows
|
|
|
|
* Basic Window:: Introduction to Emacs windows.
|
|
* Split Window:: New windows are made by splitting existing windows.
|
|
* Other Window:: Moving to another window or doing something to it.
|
|
* Pop Up Window:: Finding a file or buffer in another window.
|
|
* Change Window:: Deleting windows and changing their sizes.
|
|
* Displaying Buffers:: How Emacs picks a window for displaying a buffer.
|
|
* Temporary Displays:: Displaying non-editable buffers.
|
|
* Window Convenience:: Convenience functions for window handling.
|
|
* Tab Line:: Window tab line.
|
|
* Window Tool Bar:: A tool bar that is attached to windows.
|
|
|
|
Displaying a Buffer in a Window
|
|
|
|
* 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.
|
|
* Window Dividers:: Window separators that can be dragged with the mouse.
|
|
* 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.
|
|
* Tab Bars:: Enabling and disabling the tab bar.
|
|
* Dialog Boxes:: Controlling use of dialog boxes.
|
|
* Tooltips:: Displaying information at the current mouse position.
|
|
* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
|
|
* Text Terminals:: Multiple frames on terminals that show only one.
|
|
* Text-Only Mouse:: Using the mouse in text terminals.
|
|
|
|
International Character Set Support
|
|
|
|
* International Chars:: Basic concepts of multibyte characters.
|
|
* Language Environments:: Setting things up for the language you use.
|
|
* Input Methods:: Entering text characters not on your keyboard.
|
|
* Select Input Method:: Specifying your choice of input methods.
|
|
* Coding Systems:: Character set conversion when you read and
|
|
write files, and so on.
|
|
* Recognize Coding:: How Emacs figures out which conversion to use.
|
|
* Specify Coding:: Specifying a file's coding system explicitly.
|
|
* Output Coding:: Choosing coding systems for output.
|
|
* Text Coding:: Choosing conversion to use for file text.
|
|
* Communication Coding:: Coding systems for interprocess communication.
|
|
* File Name Coding:: Coding systems for file @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.
|
|
|
|
Major and Minor Modes
|
|
|
|
* Major Modes:: Text mode vs. Lisp mode vs. C mode...
|
|
* Minor Modes:: Each minor mode is a feature you can turn on
|
|
independently of any others.
|
|
* Choosing Modes:: How modes are chosen when visiting files.
|
|
|
|
Indentation
|
|
|
|
* Indentation Commands:: More commands for performing indentation.
|
|
* Tab Stops:: Stop points for indentation in Text modes.
|
|
* Just Spaces:: Using only space characters for indentation.
|
|
* Indent Convenience:: Optional indentation features.
|
|
* Code Alignment:: Making common parts of lines start at the same column.
|
|
|
|
Commands for Human Languages
|
|
|
|
* Words:: Moving over and killing words.
|
|
* Sentences:: Moving over and killing sentences.
|
|
* Paragraphs:: Moving over paragraphs.
|
|
* Pages:: Moving over pages.
|
|
* Quotation Marks:: Inserting quotation marks.
|
|
* Filling:: Filling or justifying text.
|
|
* Case:: Changing the case of text.
|
|
* Text Mode:: The major modes for editing text files.
|
|
* Outline Mode:: Editing outlines.
|
|
* Org Mode:: The Emacs organizer.
|
|
* TeX Mode:: Editing TeX and LaTeX files.
|
|
* HTML Mode:: Editing HTML and SGML files.
|
|
* Nroff Mode:: Editing input to the nroff formatter.
|
|
* Enriched Text:: Editing text enriched with fonts, colors, etc.
|
|
* Text Based Tables:: Commands for editing text-based tables.
|
|
* Two-Column:: Splitting text columns into separate windows.
|
|
|
|
Filling Text
|
|
|
|
* Auto Fill:: Auto Fill mode breaks long lines automatically.
|
|
* Fill Commands:: Commands to refill paragraphs and center lines.
|
|
* Fill Prefix:: Filling paragraphs that are indented
|
|
or in a comment, etc.
|
|
* Adaptive Fill:: How Emacs can determine the fill prefix automatically.
|
|
|
|
Outline Mode
|
|
|
|
* Outline Format:: What the text of an outline looks like.
|
|
* Outline Motion:: Special commands for moving through outlines.
|
|
* Outline Visibility:: Commands to control what is visible.
|
|
* Outline Views:: Outlines and multiple views.
|
|
* Foldout:: Folding means zooming in on outlines.
|
|
|
|
Org Mode
|
|
|
|
* Org Organizer:: Managing TODO lists and agendas.
|
|
* Org Authoring:: Exporting Org buffers to various formats.
|
|
|
|
@TeX{} Mode
|
|
|
|
* TeX Editing:: Special commands for editing in TeX mode.
|
|
* LaTeX Editing:: Additional commands for LaTeX input files.
|
|
* TeX Print:: Commands for printing part of a file with TeX.
|
|
* TeX Misc:: Customization of TeX mode, and related features.
|
|
|
|
Enriched Text
|
|
|
|
* Enriched Mode:: Entering and exiting Enriched mode.
|
|
* Hard and Soft Newlines:: There are two different kinds of newlines.
|
|
* Editing Format Info:: How to edit text properties.
|
|
* Enriched Faces:: Bold, italic, underline, etc.
|
|
* Enriched Indentation:: Changing the left and right margins.
|
|
* Enriched Justification:: Centering, setting text flush with the
|
|
left or right margin, etc.
|
|
* Enriched Properties:: The ``Special text properties'' submenu.
|
|
|
|
@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.
|
|
* MixedCase Words:: Dealing with identifiersLikeThis.
|
|
* Semantic:: Suite of editing tools based on source code parsing.
|
|
* Misc for Programs:: Other Emacs features useful for editing programs.
|
|
* C Modes:: Special commands of C, C++, Objective-C,
|
|
Java, IDL, Pike and AWK modes.
|
|
* Asm Mode:: Asm mode and its special features.
|
|
@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.
|
|
* Programming Language Doc:: Looking up program functions, variables, 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.
|
|
* Projects:: Commands for handling source files in a project.
|
|
* Change Log:: Maintaining a change history for your program.
|
|
* Xref:: Find definitions and references of any function,
|
|
method, struct, macro, @dots{} in your program.
|
|
* EDE:: An integrated development environment for Emacs.
|
|
@ifnottex
|
|
* Emerge:: A convenient way of merging two versions of a program.
|
|
@end ifnottex
|
|
* Bug Reference:: Highlighting references to bug reports and browsing
|
|
them in their issue trackers.
|
|
|
|
Version Control
|
|
|
|
* Introduction to VC:: How version control works in general.
|
|
* VC Mode Line:: How the mode line shows version control status.
|
|
* Basic VC Editing:: How to edit a file under version control.
|
|
* Log Buffer:: Features available in log entry buffers.
|
|
* Registering:: Putting a file under version control.
|
|
* Old Revisions:: Examining and comparing old versions.
|
|
* VC Change Log:: Viewing the VC Change Log.
|
|
* VC Undo:: Canceling changes before or after committing.
|
|
* VC Ignore:: Ignore files under version control system.
|
|
* VC Directory Mode:: Listing files managed by version control.
|
|
* Branches:: Multiple lines of development.
|
|
@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:: How changes are grouped.
|
|
* VCS Repositories:: Where version control repositories are stored.
|
|
* Types of Log File:: The VCS log in contrast to the ChangeLog.
|
|
|
|
Basic Editing under Version Control
|
|
|
|
* VC With A Merging VCS:: Without locking: default mode for CVS.
|
|
* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
|
|
* Advanced C-x v v:: Advanced features available with a prefix argument.
|
|
|
|
VC Directory Mode
|
|
|
|
* VC Directory Buffer:: What the buffer looks like and means.
|
|
* VC Directory Commands:: Commands to use in a VC directory buffer.
|
|
|
|
Version Control Branches
|
|
|
|
* Switching Branches:: How to get to another existing branch.
|
|
* Pulling / Pushing:: Receiving/sending changes from/to elsewhere.
|
|
* 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.
|
|
* Editing VC Commands:: Editing the VC shell commands that Emacs will run.
|
|
|
|
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
|
|
|
|
Projects
|
|
|
|
* Project File Commands:: Commands for handling project files.
|
|
* Project Buffer Commands:: Commands for handling project buffers.
|
|
* Switching Projects:: Switching between projects.
|
|
* Managing Projects:: Managing the project list file.
|
|
|
|
Change Logs
|
|
|
|
* Change Log Commands:: Commands for editing change log files.
|
|
* Format of ChangeLog:: What the change log file looks like.
|
|
|
|
Xref
|
|
|
|
* Find Identifiers:: Commands to find where an identifier is defined
|
|
or referenced, to list identifiers, etc.
|
|
* Tags Tables:: Tags table records which file defines a symbol.
|
|
* Select Tags Table:: How to visit a specific tags table.
|
|
|
|
Find Identifiers
|
|
|
|
* Looking Up Identifiers:: Commands to find the definition of a specific tag.
|
|
* Xref Commands:: Commands in the @file{*xref*} buffer.
|
|
* Identifier Search:: Searching and replacing identifiers.
|
|
* List Identifiers:: Listing identifiers and completing on them.
|
|
|
|
Tags Tables
|
|
|
|
* Tag Syntax:: Tag syntax for various types of code and text files.
|
|
* Create Tags Table:: Creating a tags table with @command{etags}.
|
|
* Etags Regexps:: Create arbitrary tags using regular expressions.
|
|
|
|
@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.
|
|
* Abbrevs Suggestions:: Get automatic suggestions about defined abbrevs.
|
|
* 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.
|
|
* 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.
|
|
|
|
The Diary
|
|
|
|
* Format of Diary File:: Entering events in your diary.
|
|
* Displaying the Diary:: Viewing diary entries and associated calendar dates.
|
|
* 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.
|
|
* Appointments:: Reminders when it's time to do something.
|
|
* Importing Diary:: Converting diary events to/from other formats.
|
|
|
|
@ifnottex
|
|
More advanced features of the Calendar and Diary
|
|
|
|
* Calendar Customizing:: Calendar layout and hooks.
|
|
* Holiday Customizing:: Defining your own holidays.
|
|
* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
|
|
* Date Display Format:: Changing the format.
|
|
* Time Display Format:: Changing the format.
|
|
* Diary Customizing:: Defaults you can set.
|
|
* Non-Gregorian Diary:: Diary entries based on other calendars.
|
|
* Diary Display:: A choice of ways to display the diary.
|
|
* Fancy Diary Display:: Sorting diary entries, using included diary files.
|
|
* Sexp Diary Entries:: More flexible diary entries.
|
|
@end ifnottex
|
|
|
|
Sending Mail
|
|
|
|
* Mail Format:: Format of a mail message.
|
|
* Mail Headers:: Details of some standard mail header fields.
|
|
* Mail Aliases:: Abbreviating and grouping mail addresses.
|
|
* Mail Commands:: Special commands for editing mail being composed.
|
|
* Mail Signature:: Adding a signature to every message.
|
|
* Mail Amusements:: Distracting the NSA; adding fortune messages.
|
|
* Mail Methods:: Using alternative mail-composition methods.
|
|
|
|
Mail Commands
|
|
|
|
* Mail Sending:: Commands to send the message.
|
|
* Header Editing:: Commands to move to header fields and edit them.
|
|
* Citing Mail:: Quoting a message you are replying to.
|
|
* Mail Misc:: Attachments, spell checking, etc.
|
|
|
|
Reading Mail with Rmail
|
|
|
|
* Rmail Basics:: Basic concepts of Rmail, and simple use.
|
|
* Rmail Scrolling:: Scrolling through a message.
|
|
* Rmail Motion:: Moving to another message.
|
|
* Rmail Deletion:: Deleting and expunging messages.
|
|
* Rmail Inbox:: How mail gets into the Rmail file.
|
|
* Rmail Files:: Using multiple Rmail files.
|
|
* Rmail Output:: Copying message out to files.
|
|
* Rmail Labels:: Classifying messages by labeling them.
|
|
* Rmail Attributes:: Certain standard labels, called attributes.
|
|
* Rmail Reply:: Sending replies to messages you are viewing.
|
|
* Rmail Summary:: Summaries show brief info on many messages.
|
|
* Rmail Sorting:: Sorting messages in Rmail.
|
|
* Rmail Display:: How Rmail displays a message; customization.
|
|
* Rmail Coding:: How Rmail handles decoding character sets.
|
|
* Rmail Editing:: Editing message text and headers in Rmail.
|
|
* Rmail Digest:: Extracting the messages from a digest message.
|
|
* Rmail Rot13:: Reading messages encoded in the rot13 code.
|
|
* Movemail:: More details of fetching new mail.
|
|
* Remote Mailboxes:: Retrieving mail from remote mailboxes.
|
|
* Other Mailbox Formats:: Retrieving mail from local mailboxes in
|
|
various formats.
|
|
|
|
Rmail Summaries
|
|
|
|
* Rmail Make Summary:: Making various sorts of summaries.
|
|
* Rmail Summary Edit:: Manipulating messages from the summary.
|
|
|
|
Gnus
|
|
|
|
* Buffers of Gnus:: The group, summary, and article buffers.
|
|
* Gnus Startup:: What you should know about starting Gnus.
|
|
* Gnus Group Buffer:: A short description of Gnus group commands.
|
|
* Gnus Summary Buffer:: A short description of Gnus summary commands.
|
|
|
|
Document Viewing
|
|
|
|
* DocView Navigation:: Navigating DocView buffers.
|
|
* DocView Searching:: Searching inside documents.
|
|
* DocView Slicing:: Specifying which part of a page is displayed.
|
|
* DocView Conversion:: Influencing and triggering conversion.
|
|
|
|
Running Shell Commands from Emacs
|
|
|
|
* Single Shell:: How to run one shell command and return.
|
|
* Interactive Shell:: Permanent shell taking input via Emacs.
|
|
* Shell Mode:: Special Emacs commands used with permanent shell.
|
|
* Shell Prompts:: Two ways to recognize shell prompts.
|
|
* Shell History:: Repeating previous commands in a shell buffer.
|
|
* Directory Tracking:: Keeping track when the subshell changes directory.
|
|
* Shell Options:: Options for customizing Shell mode.
|
|
* Terminal emulator:: An Emacs window as a terminal emulator.
|
|
* Term Mode:: Special Emacs commands used in Term mode.
|
|
* Remote Host:: Connecting to another computer.
|
|
* Serial Terminal:: Connecting to a serial port.
|
|
|
|
Shell Command History
|
|
|
|
* Shell Ring:: Fetching commands from the history list.
|
|
* Shell History Copying::Moving to a command and then copying it.
|
|
* History References:: Expanding @samp{!}-style history references.
|
|
|
|
Using Emacs as a Server
|
|
|
|
* TCP Emacs server:: Listening to a TCP socket.
|
|
* 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
|
|
|
|
* EWW:: A web browser in Emacs.
|
|
* Embedded WebKit Widgets:: Embedding browser widgets in Emacs buffers.
|
|
* 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 Statuses:: Which statuses a package can have.
|
|
* Package Installation:: Options for package installation.
|
|
* Package Files:: Where packages are installed.
|
|
|
|
Customization
|
|
|
|
* Easy Customization:: Convenient way to browse and change settings.
|
|
* Variables:: Many Emacs commands examine Emacs variables
|
|
to decide what to do; by setting variables,
|
|
you can control their functioning.
|
|
* Key Bindings:: The keymaps say what command each key runs.
|
|
By changing them, you can redefine keys.
|
|
* Init File:: How to write common customizations in the
|
|
initialization file.
|
|
* Authentication:: Keeping persistent authentication information.
|
|
|
|
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.
|
|
* Connection Variables:: Variables which are valid for buffers with a
|
|
remote default directory.
|
|
|
|
Local Variables in Files
|
|
|
|
* Specifying File Variables:: Specifying file local variables.
|
|
* Safe File Variables:: Making sure file local variables are safe.
|
|
|
|
Local Variables in Directories
|
|
|
|
* EditorConfig support:: Per-Directory Variables via EditorConfig
|
|
|
|
Customizing Key Bindings
|
|
|
|
* Keymaps:: Generalities. The global keymap.
|
|
* Prefix Keymaps:: Keymaps for prefix keys.
|
|
* Local Keymaps:: Major and minor modes have their own keymaps.
|
|
* Minibuffer Maps:: The minibuffer uses its own local keymaps.
|
|
* Rebinding:: How to redefine one key's meaning conveniently.
|
|
* Init Rebinding:: Rebinding keys with your initialization file.
|
|
* Modifier Keys:: Using modifier keys in key bindings.
|
|
* Function Keys:: Rebinding terminal function keys.
|
|
* Named ASCII Chars:: Distinguishing @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 Emacs Initialization File
|
|
|
|
* Init Syntax:: Syntax of constants in Emacs Lisp.
|
|
* Init Examples:: How to do some things with an init file.
|
|
* Terminal Init:: Each terminal type can have an init file.
|
|
* Find Init:: How Emacs finds the init file.
|
|
* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file.
|
|
* Early Init File:: Another init file, which is read early on.
|
|
|
|
Dealing with Emacs Trouble
|
|
|
|
* Stuck Recursive:: '[...]' in mode line around the parentheses.
|
|
* Screen Garbled:: Garbage on the screen.
|
|
* Text Garbled:: Garbage in the text.
|
|
* Memory Full:: How to cope when you run out of memory.
|
|
* Crashing:: What Emacs does when it crashes.
|
|
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
|
* Emergency Escape:: What to do if Emacs stops responding.
|
|
* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
|
|
|
|
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.
|
|
|
|
Contributing to Emacs Development
|
|
|
|
* Coding Standards:: GNU Emacs coding standards.
|
|
* Copyright Assignment:: Assigning copyright to the FSF.
|
|
|
|
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 outer borders, under X.
|
|
* Title X:: Specifying the initial frame's title.
|
|
* Icons X:: Choosing what sort of icon to use, under X.
|
|
* Misc X:: Other display options.
|
|
|
|
Environment Variables
|
|
|
|
* General Variables:: Environment variables that all versions of Emacs use.
|
|
* Misc Variables:: Certain system-specific variables.
|
|
* MS-Windows Registry:: An alternative to the environment on MS-Windows.
|
|
|
|
X Options and Resources
|
|
|
|
* Resources:: Using X resources with Emacs (in general).
|
|
* Table of Resources:: Table of specific X resources that affect Emacs.
|
|
* Lucid Resources:: X resources for Lucid menus.
|
|
* Motif Resources:: X resources for Motif and LessTif menus.
|
|
* GTK resources:: Resources for GTK widgets.
|
|
|
|
GTK resources
|
|
|
|
* GTK Resource Basics:: Basic usage of GTK+ resources.
|
|
* GTK Widget Names:: How GTK+ widgets are named.
|
|
* GTK Names in Emacs:: GTK+ widgets used by Emacs.
|
|
* GTK styles:: What can be customized in a GTK+ widget.
|
|
|
|
Emacs and macOS / GNUstep
|
|
|
|
* Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or macOS.
|
|
* Mac / GNUstep Customization:: Customizations under GNUstep or macOS.
|
|
* Mac / GNUstep Events:: How window system events are handled.
|
|
* GNUstep Support:: Details on status of GNUstep support.
|
|
|
|
Emacs and Haiku
|
|
|
|
* Haiku Basics:: Basic Emacs usage and installation under Haiku.
|
|
* Haiku Fonts:: The various options for displaying fonts on Haiku.
|
|
|
|
Emacs and Android
|
|
|
|
* What is Android?:: Preamble.
|
|
* Android Startup:: Starting up Emacs on Android.
|
|
* Android File System:: The Android file system.
|
|
* Android Document Providers:: Accessing files from other programs.
|
|
* Android Environment:: Running Emacs under Android.
|
|
* Android Windowing:: The Android window system.
|
|
* Android Fonts:: Font selection under Android.
|
|
* Android Troubleshooting:: Dealing with problems.
|
|
* Android Software:: Getting extra software.
|
|
|
|
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} and
|
|
where it starts up.
|
|
* Windows Keyboard:: Windows-specific keyboard features.
|
|
* Windows Mouse:: Windows-specific mouse features.
|
|
* Windows Processes:: Running subprocesses on Windows.
|
|
* Windows Printing:: How to specify the printer on MS-Windows.
|
|
* Windows Fonts:: Specifying fonts on MS-Windows.
|
|
* Windows Misc:: Miscellaneous Windows features.
|
|
@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} (which is ``control
|
|
h and then 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{https://dspace.mit.edu/handle/1721.1/5736}.
|
|
|
|
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
|
|
@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 anyone 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{https://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.
|
|
To donate, see @url{https://my.fsf.org/donate/}.
|
|
For other ways in which you can help, see
|
|
@url{https://www.gnu.org/help/help.html}.
|
|
|
|
@c The command view-order-manuals uses this anchor.
|
|
@anchor{Printed Books}
|
|
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{https://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{https://www.fsf.org/about/contact/}, or write to
|
|
|
|
@display
|
|
Free Software Foundation
|
|
31 Milk Street, # 960789
|
|
Boston, MA 02196
|
|
USA
|
|
@end display
|
|
|
|
@iftex
|
|
@node Acknowledgments
|
|
@unnumberedsec Acknowledgments
|
|
|
|
@c It's hard to update this fairly.
|
|
@c I wonder if it would be better to drop it in favor of AUTHORS?
|
|
Contributors to GNU Emacs include Jari Aalto, Eric Abrahamsen, Per Abrahamsen, Tomas
|
|
Abrahamsson, Jay K. Adams, Alon Albert, Michael Albinus, Nagy
|
|
Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Åströ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, Stephen Berman, Jonas Bernoulli, Karl
|
|
Berry, Anna M. Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan
|
|
Bockgå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, Ken Brown, Stefan Bruda,
|
|
Damien Cassou, Daniel Colascione,
|
|
Georges Brun-Cottan, Joe Buehler, Scott Byer, Włodek Bzyl, Tino Calancha,
|
|
Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris Chase, Bob
|
|
Chassell, Andrew Choi, Chong Yidong, Sacha Chua, Stewart Clamen, James
|
|
Clark, Mike Clarkson, Glynn Clements, Andrea Corallo, Andrew Cohen, Daniel Colascione,
|
|
Christoph Conrad, Ludovic Courtès, Andrew Csillag,
|
|
Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Yue Daian, 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ä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örn Einarsson, Tsugutomo Enami, David
|
|
Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
|
|
Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Thomas Fitzsimmons, Karl Fogel, Gary
|
|
Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas
|
|
Fuchs, Shigeru Fukaya, Xue Fuqiao, Hallvard Furuseth, Keith Gabryelski, Peter S.
|
|
Galbraith, Kevin Gallagher, Fabián E. Gallina, Kevin Gallo, Juan León Lahoz García,
|
|
Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
|
|
Gillespie, Bob Glickstein, Nicolas Goaziou, Deepak Goel, David De La Harpe Golden, Boris
|
|
Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd
|
|
Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry
|
|
Guillaume, Dmitry Gutov, 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, Torsten Hilbrich, Anders Holst,
|
|
Jeffrey C. Honig, Jürgen Hötzel, Tassilo Horn, Kurt Hornik, Khaled Hosny, 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, Stefan Kangas, Ivan Kanis, David
|
|
Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi,
|
|
Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel
|
|
Klíč, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David
|
|
M. Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer,
|
|
Ryszard Kubiak, Tak Kunihiro, Igor Kuzmin, David Kågedal, Daniel LaLiberte, Karl
|
|
Landstrom, Mario Lang, Aaron Larson, James R. Larus, Gemini Lasswell, 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, Leo Liu, Emilio C. Lopes,
|
|
Martin Lorentzson, Dave Love, Eric Ludlam, Károly Lőrentey, Sascha
|
|
Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie,
|
|
Christopher J. Madsen, Neil M. Mager, Arni Magnusson, Artur Malabarba, Ken Manheimer, Bill Mann,
|
|
Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin,
|
|
Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David
|
|
Megginson, Jimmy Aguilar Mena, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad
|
|
Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Dani Moncayo, 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 Nikšić, Jeff Norden,
|
|
Andrew Norman, Theresa O'Connor, Kentaro Ohkouchi, Christian Ohler,
|
|
Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota,
|
|
Mark Oteiza, Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar,
|
|
Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per
|
|
Persson, Jens Petersen, Nicolas Petton, Daniel Pfeiffer, Justus Piater, Richard L.
|
|
Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian
|
|
Plaunt, Alexander Pohoyda, David Ponce, Noam Postavsky, Francesco A. Potortì,
|
|
Michael D. Prange, Mukesh Prasad, Steve Purcell, 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, Phil Sainty, James B. Salem, Masahiko Sato,
|
|
Timo Savola, Jorgen Schäfer, Holger Schauer, William Schelter, Ralph
|
|
Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell,
|
|
Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef,
|
|
Rainer Schöpf, 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
|
|
Šimko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith,
|
|
David Smith, JD Smith, Paul D. Smith, Wilson Snyder, William Sommerfeld, Simon
|
|
South, Andre Spiegel, Michael Staats, Thomas Steffen, Ulf Stegemann,
|
|
Reiner Steib, Sam Steingold, Ake Stenhoff, Philipp Stephani, Peter Stephenson, Ken
|
|
Stevens, Andy Stewart, Jonathan Stigelman, Martin Stjernholm, Kim F.
|
|
Storm, Steve Strassmann, Christopher Suckling, Olaf Sylvester, Naoto
|
|
Takahashi, Steven Tamm, Jan Tatarik, João Távora, Luc Teirlinck,
|
|
Jean-Philippe Theberge, Jens T.@: Berger Thielemann, Spencer Thomas,
|
|
Jim Thompson, Toru Tomabechi, David O'Toole, Markus Triska, Tom Tromey, 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 Zieliński, Ian T. Zimmermann, Reto Zimmermann,
|
|
Neal Ziring, Teodor Zlatanov, and Detlev Zundel.
|
|
@end iftex
|
|
|
|
@node Intro
|
|
@unnumbered Introduction
|
|
|
|
You are reading about GNU Emacs, the GNU incarnation of the
|
|
advanced, self-documenting, customizable, extensible editor Emacs.
|
|
(The @samp{G} in
|
|
@c Workaround makeinfo 4 bug.
|
|
@c https://lists.gnu.org/r/bug-texinfo/2004-08/msg00009.html
|
|
@iftex
|
|
@acronym{GNU, @acronym{GNU}'s Not Unix}
|
|
@end iftex
|
|
@ifnottex
|
|
@acronym{GNU, GNU's Not Unix}
|
|
@end ifnottex
|
|
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, edit remote files
|
|
like they were local files, 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
|
|
@appendix GNU GENERAL PUBLIC LICENSE
|
|
@include gpl.texi
|
|
|
|
@node GNU Free Documentation License
|
|
@appendix GNU Free Documentation License
|
|
@include doclicense.texi
|
|
|
|
@include cmdargs.texi
|
|
@include xresources.texi
|
|
|
|
@include anti.texi
|
|
@include macos.texi
|
|
@include haiku.texi
|
|
@include android.texi
|
|
@c Includes msdos-xtra.
|
|
@include msdos.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.
|
|
|
|
@node Key Index
|
|
@unnumbered Key (Character) Index
|
|
@printindex ky
|
|
|
|
@ifnottex
|
|
@node Option Index
|
|
@unnumbered Command-Line Options Index
|
|
@printindex op
|
|
@end ifnottex
|
|
|
|
@node Command Index
|
|
@unnumbered Command and Function Index
|
|
@printindex fn
|
|
|
|
@node Variable Index
|
|
@unnumbered Variable Index
|
|
@printindex vr
|
|
|
|
@node Concept Index
|
|
@unnumbered Concept Index
|
|
@printindex cp
|
|
|
|
@bye
|