Next: Key Index Prev: Intro Up: Top
An abbrev is a text string which expands into a different text
string when present in the buffer. For example, you might define
a short word as an abbrev for a long phrase that you want to insert
frequently. Note: Abbrevs.
Aborting means getting out of a recursive edit (q.v.). The
commands `C-]' and `M-x top-level' are used for this. *Note
Alt is the name of a modifier bit which a keyboard input character
may have. To make a character Alt, type it while holding down the
ALT key. Such characters are given names that start with `Alt-'
(usually written `A-' for short). Note: Alt.
Auto Fill Mode
Auto Fill mode is a minor mode in which text that you insert is
automatically broken into lines of fixed width. Note: Filling.
Auto saving is the practice of saving the contents of an Emacs
buffer in a specially-named file, so that the information will not
be lost if the buffer is lost due to a system error or user error.
Note: Auto Save.
A backup file records the contents that a file had before the
current editing session. Emacs makes backup files automatically
to help you track down or cancel changes you later regret making.
Emacs can balance parentheses manually or automatically. Manual
balancing is done by the commands to move over balanced expressions
(Note: Lists.). Automatic balancing is done by blinking the
parenthesis that matches one just inserted (*note Matching Parens:
To bind a key sequence means to give it a binding (q.v.). *Note
A key sequence gets its meaning in Emacs by having a binding,
which is a command (q.v.), a Lisp function that is run when the
user types that sequence. Note: Binding. Customization
often involves rebinding a character to a different command
function. The bindings of all key sequences are recorded in the
keymaps (q.v.). Note: Keymaps.
Blank lines are lines that contain only whitespace. Emacs has
several commands for operating on the blank lines in the buffer.
The buffer is the basic editing unit; one buffer corresponds to one
piece of text being edited. You can have several buffers, but at
any time you are editing only one, the `selected' buffer, though
several can be visible when you are using multiple windows. *Note
Buffer Selection History
Emacs keeps a buffer selection history which records how recently
each Emacs buffer has been selected. This is used for choosing a
buffer to select. Note: Buffers.
Button Down Event
A button down event is the kind of input event generated right
away when you press a mouse button. Note: Mouse Buttons.
`C' in the name of a character is an abbreviation for Control.
`C-M-' in the name of a character is an abbreviation for
Control-Meta. Note: C-M-.
Case conversion means changing text from upper case to lower case
or vice versa. Note: Case, for the commands for case conversion.
Characters form the contents of an Emacs buffer; see Note: Text
Characters. Also, key sequences (q.v.) are usually made up of
characters (though they may include other input events as well).
Note: User Input.
A click event is the kind of input event generated when you press a
mouse button and let it go without moving the mouse. Note: Mouse
A command is a Lisp function specially defined to be able to serve
as a key binding in Emacs. When you type a key sequence (q.v.),
its binding (q.v.) is looked up in the relevant keymaps (q.v.) to
find the command to run. Note: Commands.
A command name is the name of a Lisp symbol which is a command
(Note: Commands.). You can invoke any command by its name using
`M-x' (Note: M-x.).
A comment is text in a program which is intended only for humans
reading the program, and which is marked specially so that it will
be ignored when the program is loaded or compiled. Emacs offers
special commands for creating, aligning and killing comments.
Compilation is the process of creating an executable program from
source code. Emacs has commands for compiling files of Emacs Lisp
code (Note: Byte Compilation.) and
programs in C and other languages (Note: Compilation.).
A complete key is a key sequence which fully specifies one action
to be performed by Emacs. For example, `X' and `C-f' and `C-x m'
are complete keys. Complete keys derive their meanings from being
bound (q.v.) to commands (q.v.). Thus, `X' is conventionally
bound to a command to insert `X' in the buffer; `C-x m' is
conventionally bound to a command to begin composing a mail
message. Note: Keys.
Completion is what Emacs does when it automatically fills out an
abbreviation for a name into the entire name. Completion is done
for minibuffer (q.v.) arguments when the set of possible valid
inputs is known; for example, on command names, buffer names, and
file names. Completion occurs when TAB, SPC or RET is typed.
When a line of text is longer than the width of the window, it
takes up more than one screen line when displayed. We say that the
text line is continued, and all screen lines used for it after the
first are called continuation lines. Note: Continuation.
ASCII characters with octal codes 0 through 037, and also code
0177, do not have graphic images assigned to them. These are the
Control characters. To type a Control character, hold down the
CTRL key and type the corresponding non-Control character. RET,
TAB, ESC, LFD and DEL are all control characters. Note: User
When you are using the X Window System, every non-control
character has a corresponding control character variant.
A copyleft is a notice giving the public legal permission to
redistribute a program or other work of art. Copylefts are used by
left-wing programmers to give people equal rights, just as
copyrights are used by right-wing programmers to gain power over
The current buffer in Emacs is the Emacs buffer on which most
editing commands operate. You can select any Emacs buffer as the
current one. Note: Buffers.
The line point is on (Note: Point.).
The paragraph that point is in. If point is between paragraphs,
the current paragraph is the one that follows point. *Note
The defun (q.v.) that point is in. If point is between defuns, the
current defun is the one that follows point. Note: Defuns.
The cursor is the rectangle on the screen which indicates the
position called point (q.v.) at which insertion and deletion takes
place. The cursor is on or under the character that follows
point. Often people speak of `the cursor' when, strictly
speaking, they mean `point'. Note: Cursor.
Customization is making minor changes in the way Emacs works. It
is often done by setting variables (Note: Variables.) or by
rebinding key sequences (Note: Keymaps.).
The default for an argument is the value that will be assumed if
you do not specify one. When the minibuffer is used to read an
argument, the default argument is used if you just type RET.
When you specify a file name that does not start with `/' or `~',
it is interpreted relative to the current buffer's default
directory. Note: Default Directory.
A defun is a list at the top level of parenthesis or bracket
structure in a program. It is so named because most such lists in
Lisp programs are calls to the Lisp function `defun'. *Note
DEL is a character that runs the command to delete one character of
text. Note: DEL.
Deletion means erasing text without copying it into the kill ring
(q.v.). The alternative is killing (q.v.). *Note Deletion:
Deletion of Files
Deleting a file means erasing it from the file system. Note: Misc
Deletion of Messages
Deleting a message means flagging it to be eliminated from your
mail file. Until you expunge (q.v.) the mail file, you can still
undelete the messages you have deleted. Note: Rmail Deletion.
Deletion of Windows
Deleting a window means eliminating it from the screen. Other
windows expand to use up the space. The deleted window can never
come back, but no actual text is thereby lost. Note: Windows.
File directories are named collections in the file system, within
which you can place individual files or subdirectories. *Note
Dired is the Emacs facility that displays the contents of a file
directory and allows you to "edit the directory", performing
operations on the files in the directory. Note: Dired.
A disabled command is one that you may not run without special
confirmation. The usual reason for disabling a command is that it
is confusing for beginning users. Note: Disabling.
Short for `button down event'.
A drag event is the kind of input event generated when you press a
mouse button, move the mouse, and then release the button. *Note
A file into which Emacs writes all the characters that the user
types on the keyboard. Dribble files are used to make a record for
debugging Emacs bugs. Emacs does not make a dribble file unless
you tell it to. Note: Bugs.
The echo area is the bottom line of the screen, used for echoing
the arguments to commands, for asking questions, and printing brief
messages (including error messages). Note: Echo Area.
Echoing is acknowledging the receipt of commands by displaying
them (in the echo area). Emacs never echoes single-character key
sequences; longer key sequences echo only if you pause while
An error occurs when an Emacs command cannot execute in the current
circumstances. When an error occurs, execution of the command
stops (unless the command has been programmed to do otherwise) and
Emacs reports the error by printing an error message (q.v.).
Type-ahead is discarded. Then Emacs is ready to read another
Error messages are single lines of output printed by Emacs when the
user asks for something impossible to do (such as, killing text
forward when point is at the end of the buffer). They appear in
the echo area, accompanied by a beep.
ESC is a character used as a prefix for typing Meta characters on
keyboards lacking a META key. Unlike the META key (which, like
the SHIFT key, is held down while another character is typed), the
ESC key is pressed once and applies to the next character typed.
Expunging a mail file or Dired buffer means really discarding the
messages or files you have previously flagged for deletion.
The fill prefix is a string that should be expected at the
beginning of each line when filling is done. It is not regarded
as part of the text to be filled. Note: Filling.
Filling text means moving text from line to line so that all the
lines are approximately the same length. Note: Filling.
A frame is a rectangular cluster of Emacs windows. When using X
Windows, you can create more than one Emacs frame, each having its
own X window, and then you can subdivide each frame into Emacs
windows as you wish. Note: Frames.
A function key is a key on the keyboard that does not correspond
to any character. Note: Function Keys.
Global means `independent of the current environment; in effect
throughout Emacs'. It is the opposite of local (q.v.). Particular
examples of the use of `global' appear below.
A global definition of an abbrev (q.v.) is effective in all major
modes that do not have local (q.v.) definitions for the same
abbrev. Note: Abbrevs.
The global keymap (q.v.) contains key bindings that are in effect
except when overridden by local key bindings in a major mode's
local keymap (q.v.). Note: Keymaps.
Global substitution means replacing each occurrence of one string
by another string through a large amount of text. Note: Replace.
The global value of a variable (q.v.) takes effect in all buffers
that do not have their own local (q.v.) values for the variable.
Graphic characters are those assigned pictorial images rather than
just names. All the non-Meta (q.v.) characters except for the
Control (q.v.) characters are graphic characters. These include
letters, digits, punctuation, and spaces; they do not include RET
or ESC. In Emacs, typing a graphic character inserts that
character (in ordinary editing modes). Note: Basic Editing.
Hardcopy means printed output. Emacs has commands for making
printed listings of text in Emacs buffers. Note: Hardcopy.
You can type HELP at any time to ask what options you have, or to
ask what any command does. The character HELP is really `C-h'.
Hyper is the name of a modifier bit which a keyboard input
character may have. To make a character Hyper, type it while
holding down the HYPER key. Such characters are given names that
start with `Hyper-' (usually written `H-' for short). *Note
Hyper: User Input.
An inbox is a file in which mail is delivered by the operating
system. Rmail transfers mail from inboxes to mail files (q.v.) in
which the mail is then stored permanently or until explicitly
deleted. Note: Rmail Inbox.
Indentation means blank space at the beginning of a line. Most
programming languages have conventions for using indentation to
illuminate the structure of the program, and Emacs has special
commands to adjust indentation. Note: Indentation.
Insertion means copying text into the buffer, either from the
keyboard or from some other place in Emacs.
Justification means adding extra spaces to lines of text to make
them come exactly to a specified width. *Note Justification:
Keyboard macros are a way of defining new Emacs commands from
sequences of existing ones, with no need to write a Lisp program.
Note: Keyboard Macros.
A key sequence (key, for short) is a sequence of characters that,
when input to Emacs, is meaningful as a single unit. If the key
sequence is enough to specify one action, it is a complete key
(q.v.); if it is not enough, it is a prefix key (q.v.). *Note
The keymap is the data structure that records the bindings (q.v.)
of key sequences to the commands that they run. For example, the
global keymap binds the character `C-n' to the command function
`next-line'. Note: Keymaps.
Keyboard Translation Table
The keyboard translation table is an array that translates the
character codes that come from the terminal into the character
codes that make up key sequences. Note: Keyboard Translations.
The kill ring is where all text you have killed recently is saved.
You can reinsert any of the killed text still in the ring; this is
called yanking (q.v.). Note: Yanking.
Killing means erasing text and saving it on the kill ring so it
can be yanked (q.v.) later. Some other systems call this
"cutting". Most Emacs commands to erase text do killing, as
opposed to deletion (q.v.). Note: Killing.
Killing a job (such as, an invocation of Emacs) means making it
cease to exist. Any data within it, if not saved in a file, is
lost. Note: Exiting.
A list is, approximately, a text string beginning with an open
parenthesis and ending with the matching close parenthesis. In C
mode and other non-Lisp modes, groupings surrounded by other kinds
of matched delimiters appropriate to the language, such as braces,
are also considered lists. Emacs has special commands for many
operations on lists. Note: Lists.
Local means `in effect only in a particular context'; the relevant
kind of context is a particular function execution, a particular
buffer, or a particular major mode. It is the opposite of `global'
(q.v.). Specific uses of `local' in Emacs terminology appear
A local abbrev definition is effective only if a particular major
mode is selected. In that major mode, it overrides any global
definition for the same abbrev. Note: Abbrevs.
A local keymap is used in a particular major mode; the key bindings
(q.v.) in the current local keymap override global bindings of the
same key sequences. Note: Keymaps.
A local value of a variable (q.v.) applies to only one buffer.
`M-' in the name of a character is an abbreviation for META, one
of the modifier keys that can accompany any character. Note: User
`M-C-' in the name of a character is an abbreviation for
Control-Meta; it means the same thing as `C-M-'. If your terminal
lacks a real META key, you type a Control-Meta character by typing
ESC and then typing the corresponding Control character. *Note
C-M-: User Input.
`M-x' is the key sequence which is used to call an Emacs command by
name. This is how you run commands that are not bound to key
sequences. Note: M-x.
Mail means messages sent from one user to another through the
computer system, to be read at the recipient's convenience. Emacs
has commands for composing and sending mail, and for reading and
editing the mail you have received. Note: Sending Mail. *Note
Rmail::, for how to read mail.
A mail file is a file which is edited using Rmail and in which
Rmail stores mail. Note: Rmail.
The Emacs major modes are a mutually exclusive set of options,
each of which configures Emacs for editing a certain sort of text.
Ideally, each programming language has its own major mode. *Note
The mark points to a position in the text. It specifies one end
of the region (q.v.), point being the other end. Many commands
operate on all the text from point to the mark. Each buffer has
its own mark. Note: Mark.
The mark ring is used to hold several recent previous locations of
the mark, just in case you want to move back to them. Each buffer
has its own mark ring. Note: Mark Ring.
Meta is the name of a modifier bit which a command character may
have. It is present in a character if the character is typed with
the META key held down. Such characters are given names that start
with `Meta-' (usually written `M-' for short). For example, `M-<'
is typed by holding down META and at the same time typing `<'
(which itself is done, on most terminals, by holding down SHIFT
and typing `,'). Note: Meta.
A Meta character is one whose character code includes the Meta bit.
The minibuffer is the window that appears when necessary inside the
echo area (q.v.), used for reading arguments to commands. *Note
The minibuffer history records the text you have specified in the
past for minibuffer arguments, so you can conveniently use the
same text again. Note: Minibuffer History.
A minor mode is an optional feature of Emacs which can be switched
on or off independently of all other features. Each minor mode
has a command to turn it on or off. Note: Minor Modes.
Minor Mode Keymap
A keymap that belongs to a minor mode and is active when that mode
is enabled. Minor mode keymaps take precedence over the buffer's
local keymap, just as the local keymap takes precedence over the
global keymap. Note: Keymaps.
The mode line is the line at the bottom of each window (q.v.),
giving status information on the buffer displayed in that window.
Note: Mode Line.
A buffer (q.v.) is modified if its text has been changed since the
last time the buffer was saved (or since when it was created, if it
has never been saved). Note: Saving.
Moving text means erasing it from one place and inserting it in
another. The usual way to move text by killing (q.v.) and then
yanking (q.v.). Note: Killing.
A named mark is a register (q.v.) in its role of recording a
location in text so that you can move point to that location.
Narrowing means creating a restriction (q.v.) that limits editing
in the current buffer to only a part of the text in the buffer.
Text outside that part is inaccessible to the user until the
boundaries are widened again, but it is still there, and saving
the file saves it all. Note: Narrowing.
LFD characters in the buffer terminate lines of text and are
called newlines. Note: Newline.
A numeric argument is a number, specified before a command, to
change the effect of the command. Often the numeric argument
serves as a repeat count. Note: Arguments.
An option is a variable (q.v.) that exists so that you can
customize Emacs by giving it a new value. Note: Variables.
Overwrite mode is a minor mode. When it is enabled, ordinary text
characters replace the existing text after point rather than
pushing it to the right. Note: Minor Modes.
A page is a unit of text, delimited by formfeed characters (ASCII
control-L, code 014) coming at the beginning of a line. Some Emacs
commands are provided for moving over and operating on pages.
Paragraphs are the medium-size unit of English text. There are
special Emacs commands for moving over and operating on paragraphs.
We say that certain Emacs commands parse words or expressions in
the text being edited. Really, all they know how to do is find
the other end of a word or expression. Note: Syntax.
Point is the place in the buffer at which insertion and deletion
occur. Point is considered to be between two characters, not at
one character. The terminal's cursor (q.v.) indicates the
location of point. Note: Point.
See `numeric argument'.
A prefix key is a key sequence (q.v.) whose sole function is to
introduce a set of longer key sequences. `C-x' is an example of
prefix key; any two-character sequence starting with `C-x' is
therefore a legitimate key sequence. Note: Keys.
Primary Mail File
Your primary mail file is the file named `RMAIL' in your home
directory, where all mail that you receive is stored by Rmail
unless you make arrangements to do otherwise. Note: Rmail.
A prompt is text printed to ask the user for input. Printing a
prompt is called prompting. Emacs prompts always appear in the
echo area (q.v.). One kind of prompting happens when the
minibuffer is used to read an argument (Note: Minibuffer.); the
echoing which happens when you pause in the middle of typing a
multicharacter key sequence is also a kind of prompting (*note
Quitting means cancelling a partially typed command or a running
command, using `C-g'. Note: Quitting.
Quoting means depriving a character of its usual special
significance. In Emacs this is usually done with `C-q'. What
constitutes special significance depends on the context and on
convention. For example, an "ordinary" character as an Emacs
command inserts itself; so in this context, a special character is
any character that does not normally insert itself (such as DEL,
for example), and quoting it makes it insert itself as if it were
not special. Not all contexts allow quoting. *Note Quoting:
A read-only buffer is one whose text you are not allowed to change.
Normally Emacs makes buffers read-only when they contain text which
has a special significance to Emacs; for example, Dired buffers.
Visiting a file that is write protected also makes a read-only
buffer. Note: Buffers.
Recursive Editing Level
A recursive editing level is a state in which part of the
execution of a command involves asking the user to edit some text.
This text may or may not be the same as the text to which the
command was applied. The mode line indicates recursive editing
levels with square brackets (`[' and `]'). Note: Recursive Edit.
Redisplay is the process of correcting the image on the screen to
correspond to changes that have been made in the text being edited.
See `regular expression'.
The region is the text between point (q.v.) and the mark (q.v.).
Many commands operate on the text of the region. *Note Region:
Registers are named slots in which text or buffer positions or
rectangles can be saved for later use. Note: Registers.
A regular expression is a pattern that can match various text
strings; for example, `l[0-9]+' matches `l' followed by one or more
digits. Note: Regexps.
See `numeric argument'.
See `global substitution'.
A buffer's restriction is the amount of text, at the beginning or
the end of the buffer, that is temporarily inaccessible. Giving a
buffer a nonzero amount of restriction is called narrowing (q.v.).
RET is a character than in Emacs runs the command to insert a
newline into the text. It is also used to terminate most arguments
read in the minibuffer (q.v.). Note: Return.
Saving a buffer means copying its text into the file that was
visited (q.v.) in that buffer. This is the way text in files
actually gets changed by your Emacs editing. Note: Saving.
Scrolling means shifting the text in the Emacs window so as to see
a different part of the buffer. Note: Scrolling.
Searching means moving point to the next occurrence of a specified
string. Note: Search.
Selecting a buffer means making it the current (q.v.) buffer.
Self-documentation is the feature of Emacs which can tell you what
any command does, or give you a list of all commands related to a
topic you specify. You ask for self-documentation with the help
character, `C-h'. Note: Help.
Emacs has commands for moving by or killing by sentences. *Note
A sexp (short for `s-expression') is the basic syntactic unit of
Lisp in its textual form: either a list, or Lisp atom. Many Emacs
commands operate on sexps. The term `sexp' is generalized to
languages other than Lisp, to mean a syntactically recognizable
expression. Note: Sexps.
Simultaneous editing means two users modifying the same file at
once. Simultaneous editing if not detected can cause one user to
lose his work. Emacs detects all cases of simultaneous editing
and warns the user to investigate them. Note: Simultaneous
A string is a kind of Lisp data object which contains a sequence of
characters. Many Emacs variables are intended to have strings as
values. The Lisp syntax for a string consists of the characters in
the string with a `"' before and another `"' after. A `"' that is
part of the string must be written as `\"' and a `\' that is part
of the string must be written as `\\'. All other characters,
including newline, can be included just by writing them inside the
string; however, escape sequences as in C, such as `\n' for
newline or `\241' using an octal character code, are allowed as
See `global substitution'.
The syntax table tells Emacs which characters are part of a word,
which characters balance each other like parentheses, etc. *Note
Super is the name of a modifier bit which a keyboard input
character may have. To make a character Super, type it while
holding down the SUPER key. Such characters are given names that
start with `Super-' (usually written `s-' for short). *Note
Super: User Input.
A tag table is a file that serves as an index to the function
definitions in one or more other files. Note: Tags.
A termscript file contains a record of all characters sent by
Emacs to the terminal. It is used for tracking down bugs in Emacs
redisplay. Emacs does not make a termscript file unless you tell
it to. Note: Bugs.
Two meanings (Note: Text.):
* Data consisting of a sequence of characters, as opposed to
binary numbers, images, graphics commands, executable
programs, and the like. The contents of an Emacs buffer are
always text in this sense.
* Data consisting of written human language, as opposed to
programs, or following the stylistic conventions of human
Top level is the normal state of Emacs, in which you are editing
the text of the file you have visited. You are at top level
whenever you are not in a recursive editing level (q.v.) or the
minibuffer (q.v.), and not in the middle of a command. You can
get back to top level by aborting (q.v.) and quitting (q.v.).
Transposing two units of text means putting each one into the place
formerly occupied by the other. There are Emacs commands to
transpose two adjacent characters, words, sexps (q.v.) or lines
Truncating text lines in the display means leaving out any text on
a line that does not fit within the right margin of the window
displaying it. See also `continuation line'. *Note Truncation:
Undoing means making your previous editing go in reverse, bringing
back the text that existed earlier in the editing session. *Note
A variable is an object in Lisp that can store an arbitrary value.
Emacs uses some variables for internal purposes, and has others
(known as `options' (q.v.)) just so that you can set their values
to control the behavior of Emacs. The variables used in Emacs
that you are likely to be interested in are listed in the
Variables Index in this manual. Note: Variables, for
information on variables.
Version control systems keep track of multiple versions of a
source file. They provide a more powerful alternative to keeping
backup files (q.v.). Note: Version Control.
Visiting a file means loading its contents into a buffer (q.v.)
where they can be edited. Note: Visiting.
Whitespace is any run of consecutive formatting characters (space,
tab, newline, and backspace).
Widening is removing any restriction (q.v.) on the current buffer;
it is the opposite of narrowing (q.v.). Note: Narrowing.
Emacs divides a frame (q.v.) into one or more windows, each of
which can display the contents of one buffer (q.v.) at any time.
Note: Screen, for basic information on how Emacs uses the screen.
Note: Windows, for commands to control the use of windows.
Synonymous with `abbrev'.
Word search is searching for a sequence of words, considering the
punctuation between them as insignificant. Note: Word Search.
Yanking means reinserting text previously killed. It can be used
to undo a mistaken kill, or for copying or moving text. Some other
systems call this "pasting". Note: Yanking.
automatically generated by info2www