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

Emacs is the extensible, customizable, self-documenting real-time display editor.  This Info file describes how to edit with Emacs and some of how to customize it; it corresponds to GNU Emacs version 23.0.95.

To learn more about the Info documentation system, type h, and Emacs will take you to a programmed instruction sequence for the Info commands.

For information on extending Emacs, see Emacs Lisp (The Emacs Lisp Reference Manual).

This is the Sixteenth edition of the GNU Emacs Manual,

updated for Emacs version 23.0.95.

Copyright © 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and ``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below.  A copy of the license is included in the section entitled ``GNU Free Documentation License.''

     (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify this GNU manual.  Buying copies from the FSF supports it in developing GNU and promoting software freedom.''

Distribution
************

GNU Emacs is free software; this means that everyone is free to use it and free to redistribute it on 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 (This manual is itself covered by the GNU Free Documentation License (see the reverse title page in the printed manual or view the full source for online formats to see the precise conditions).  This license is similar in spirit to the General Public License, but is more suitable for documentation. See GNU Free Documentation License.).  See 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 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.

You can also order copies of GNU Emacs from the Free Software Foundation.  This is a convenient and reliable way to get a copy; it is also a good way to help fund our work.  We also sell hardcopy versions of this manual and An Introduction to Programming in Emacs Lisp, by Robert J. Chassell.  You can find an order form on our web site at http://www.gnu.org/order/order.html.  For further information, write to

     Free Software Foundation
     51 Franklin Street, Fifth Floor
     Boston, MA 02110-1301
     USA

The income from distribution fees goes to support the foundation's purpose: the development of new free software, and improvements to our existing programs including GNU Emacs.

If you find GNU Emacs useful, please 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.  If company policy is unsympathetic to the idea of donating to charity, you might instead suggest ordering a CD-ROM from the Foundation occasionally, or subscribing to periodic updates.

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 advanced because it can do much more than simple insertion and deletion of text.  It can control subprocesses, indent programs automatically, show two or more 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.

Self-documenting means that at any time you can use special commands, known as 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.  See Help.

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 <** and end with **>, you can tell the Emacs comment manipulation commands to use those strings (see 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. See Customization.

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.  See Preface (An Introduction to Programming in Emacs Lisp), if you want to learn Emacs Lisp programming.

     [file screen.texi not included]
     [file commands.texi not included]
     [file entering.texi not included]
     [file basic.texi not included]
     [file mini.texi not included]
     [file m-x.texi not included]
     [file help.texi not included]
     [file mark.texi not included]
     [file killing.texi not included]
     [file regs.texi not included]
     [file display.texi not included]
     [file search.texi not included]
     [file fixit.texi not included]
     [file kmacro.texi not included]
     [file files.texi not included]
     [file buffers.texi not included]
     [file windows.texi not included]
     [file frames.texi not included]
     [file mule.texi not included]
     [file major.texi not included]
     [file indent.texi not included]
     [file text.texi not included]
     [file programs.texi not included]
     [file building.texi not included]
     [file maintaining.texi not included]
     [file abbrevs.texi not included]
     [file picture-xtra.texi not included]
     [file sending.texi not included]
     [file rmail.texi not included]
     [file dired.texi not included]
     [file calendar.texi not included]
     [file misc.texi not included]
     [file custom.texi not included]
     [file trouble.texi not included]

GNU GENERAL PUBLIC LICENSE
**************************

     [file gpl.texi not included]

GNU Free Documentation License
******************************

     [file doclicense.texi not included]

     [file cmdargs.texi not included]
     [file xresources.texi not included]

     [file anti.texi not included]
     [file macos.texi not included]
     [file msdog.texi not included]
     [file gnu.texi not included]
     [file glossary.texi not included]
     [file ack.texi not included]