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.). You can use
the commands `C-]' and `M-x top-level' for this. Note: Quitting.
Auto Fill mode
Auto Fill mode is a minor mode in which text you insert is
automatically broken into lines of fixed width. Note: Filling.
Auto saving means that Emacs automatically stores the contents of
an Emacs buffer in a specially-named file so 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 creates backup files automatically
to help you track down or cancel changes you later regret. Note:
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 is to change its binding (q.v.). Note: Rebinding.
A key gets its meaning in Emacs by having a binding which is a
command (q.v.), a Lisp function that is run when the key is typed.
Note: Binding. Customization often involves rebinding a
character to a different command function. The bindings of all
keys 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 a 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 buffers can be visible when you are using multiple
windows. Note: Buffers.
Buffer Selection History
Emacs keeps a buffer selection history which records how recently
each Emacs buffer was selected. Emacs uses this list when
choosing a buffer to select. Note: Buffers.
`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; also, Emacs
commands are invoked by keys (q.v.), which are sequences of one or
more characters. Note: Keystrokes.
A command is a Lisp function specially defined to be able to serve
as a key binding in Emacs. When you type a key (q.v.), Emacs
looks up its binding (q.v.) 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 the
people reading the program, and 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. Note: Comments.
Compilation is the process of creating an executable program from
source code. Emacs has commands for compiling files of Emacs Lisp
code (Note: Lisp Libraries) and programs in C and other languages
A complete key is a character or sequence of characters which,
when typed by the user, fully specifies one action to be performed
by Emacs. For example, `X' and `Control-f' and `Control-x m' are
keys. 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: Keystrokes.
When Emacs automatically fills an abbreviation for a name into the
entire name, that process is called completion. 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 you type <TAB>,
<SPC>, or <RET>. Note: Completion.
When a line of text is longer than the width of the frame, 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. Any control character can be typed by holding
down the <CTRL> key and typing some other character; some have
special keys on the keyboard. <RET>, <TAB>, <ESC>, <LFD>, and
<DEL> are all control characters. Note: Keystrokes.
A copyleft is a notice giving the public legal permission to
redistribute a program or other work of art. Copylefts are used
by leftists to enrich the public just as copyrights are used by
rightists to gain power over the public.
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 keys (Note: Keymaps).
The default for an argument is the value that is used if you do not
specify one. When Emacs prompts you in the minibuffer for 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:
The <DEL> character runs the command that deletes one character of
text. Note: DEL.
Deleting text means erasing it without saving it. Emacs deletes
text only when it is expected not to be worth saving (all
whitespace, or only one character). The alternative is killing
(q.v.). Note: Deletion.
Deletion of Files
Deleting a file means removing it from the file system. Note:
Misc File Ops.
Deletion of Messages
Deleting a message means flagging it to be eliminated from your
mail file. Until the mail file is expunged, you can undo this by
undeleting the message.
Deletion of Frames
When working under the multi-frame X-based version of XEmacs, you
can delete individual frames using the Close menu item from the
Deletion of Windows
When you delete a subwindow of an Emacs frame, you eliminate it
from the frame. Other windows expand to use up the space. The
deleted window can never come back, but no actual text is lost.
Files in the Unix file system are grouped into file directories.
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. Commands are usually disabled because they are
confusing for beginning users. Note: Disabling.
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 area at the bottom of the Emacs frame which is used for
echoing the arguments to commands, for asking questions, and for
printing brief messages (including error messages). Note: Echo
Echoing refers to acknowledging the receipt of commands by
displaying them (in the echo area). Emacs never echoes
single-character keys; longer keys 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 and released, and applies to the
next character typed.
The fill prefix is a string that Emacs enters at the beginning of
each line when it performs filling. 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.
When running Emacs on a TTY terminal, "frame" means the terminal's
screen. When running Emacs under X, you can have multiple frames,
each corresponding to a top-level X window and each looking like
the screen on a TTY. Each frame contains one or more
non-overlapping Emacs windows (possibly with associated
scrollbars, under X), an echo area, and (under X) possibly a
menubar, toolbar, and/or gutter.
Global means `independent of the current environment; in effect
throughout Emacs'. It is the opposite of local (q.v.). 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
unless local key bindings in a major mode's local keymap (q.v.)
override them.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.) character 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.
Grinding means adjusting the indentation in a program to fit the
nesting structure. Note: Grinding.
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. <HELP> is really `Control-h'.
An inbox is a file in which mail is delivered by the operating
system. Some mail handlers transfers mail from inboxes to mail
files (q.v.) in which the mail is then stored permanently or until
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
features to help you set up the correct indentation. Note:
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 is a sequence of characters that, when input to Emacs,
specify or begin to specify a single action for Emacs to perform.
That is, the sequence is considered a single unit. If the key is
enough to specify one action, it is a complete key (q.v.); if it
is less than enough, it is a prefix key (q.v.). Note:
The keymap is the data structure that records the bindings (q.v.)
of keys to the commands that they run. For example, the keymap
binds the character `C-n' to the command function `next-line'.
The kill ring is the place where all text you have killed recently
is saved. You can re-insert 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. Local is the opposite of
`global' (q.v.). Specific uses of `local' in Emacs terminology
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 keys. 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:
`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.
`M-x' is the key which is used to call an Emacs command by name.
You use it to call commands that are not bound to keys. Note:
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.
The 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 the whole region, that is, all the text from point to
the 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. Note: Mark
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-'. For example, `Meta-<' 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:
A Meta character is one whose character code includes the Meta bit.
The minibuffer is the window that Emacs displays inside the echo
area (q.v.) when it prompts you for arguments to commands. Note:
A minor mode is an optional feature of Emacs which can be switched
on or off independent of the major mode. Each minor mode has a
command to turn it on or off. Note: Minor Modes.
The mode line is the line at the bottom of each text window (q.v.),
which gives 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 it was created, if it has
never been saved). Note: Saving.
Moving text means erasing it from one place and inserting it in
another. This is done by killing (q.v.) and then yanking (q.v.).
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 the invisible text. 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 allows you to 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 Emacs parses words or expressions in the text being
edited. Really, all it knows 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.
A prefix key is a key (q.v.) whose sole function is to introduce a
set of multi-character keys. `Control-x' is an example of a prefix
key; any two-character sequence starting with `C-x' is also a
legitimate key. Note: Keystrokes.
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
multi-character key is also a kind of prompting (Note: Echo
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 `Control-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, such as 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 `global substitution'.
A buffer's restriction is the amount of text, at the beginning or
the end of the buffer, that is temporarily invisible and
inaccessible. Giving a buffer a nonzero amount of restriction is
called narrowing (q.v.). Note: Narrowing.
<RET> is the character than 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. To actually change a file you have
edited in Emacs, you have to save it. Note: Saving.
Scrolling means shifting the text in the Emacs window to make a
different part of the buffer visible. 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 can 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:
An sexp (short for `s-expression,' itself short for `symbolic
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:
Simultaneous editing means two users modifying the same file at
once. If simultaneous editing is not detected, you may lose your
work. Emacs detects all cases of simultaneous editing and warns
the user to investigate them. *Note Simultaneous Editing:
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. Write a `"'
that is part of the string as `\"' and a `\' that is part of the
string as `\\'. You can include all other characters, including
newline, just by writing them inside the string. You can also
include escape sequences as in C, such as `\n' for newline or
`\241' using an octal character code.
See `global substitution'.
The syntax table tells Emacs which characters are part of a word,
which characters balance each other like parentheses, etc. Note:
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 Emacs sent to
the terminal. It is used for tracking down bugs in Emacs
redisplay. Emacs does not make a termscript file unless
explicitly instructed to do so. Note: Bugs.
Text has 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 something that follows the stylistic conventions
of human language.
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 Lisp object that can store an arbitrary value.
Emacs uses some variables for internal purposes, and has others
(known as `options' (q.v.)) you can set 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 of this manual.
Note: Variables, for information on variables.
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 (spaces,
tabs, newlines, and backspaces).
Widening is removing any restriction (q.v.) on the current buffer;
it is the opposite of narrowing (q.v.). Note: Narrowing.
Emacs divides the frame into one or more windows, each of which can
display the contents of one buffer (q.v.) at any time. Note:
Frame, for basic information on how Emacs uses the frame. Note:
Windows, for commands to control the use of windows. Note that if
you are running Emacs under X, terminology can be confusing: Each
Emacs frame occupies a separate X window and can, in turn, be
divided into different subwindows.
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 version 22.214.171.124