The Emacs Editor
Emacs is the extensible, customizable, self-documenting real-time
display editor. This manual describes how to edit with Emacs and
some of the ways to customize it; it corresponds to GNU Emacs version
The homepage for GNU Emacs is at
To view this manual in other formats, click
You can also purchase a printed copy from the
For information on extending Emacs, see Emacs Lisp in The
Emacs Lisp Reference Manual.
This is the GNU Emacs Manual,
updated for Emacs version 27.1.
How to get the latest Emacs distribution.
An introduction to Emacs concepts.
Important General Concepts
How to interpret what you see on the screen.
Kinds of input events (characters, buttons,
Key sequences: what you type to request one
Named functions run by key sequences to do editing.
Starting Emacs from the shell.
Stopping or killing Emacs.
Fundamental Editing Commands
The most basic editing commands.
Entering arguments that are prompted for.
Invoking commands by their names.
Commands for asking Emacs about its commands.
Important Text-Changing Commands
The mark: how to delimit a region of text.
Killing (cutting) and yanking (copying) text.
Saving a text string or a location in the buffer.
Controlling what text is displayed.
Finding or replacing occurrences of a string.
Commands especially useful for fixing typos.
Recording a sequence of keystrokes to be replayed.
Major Structures of Emacs
All about handling files.
Multiple buffers; editing several files at once.
Viewing multiple pieces of text in one frame.
Using multiple windows on your display.
Using non-ASCII character sets.
Major and minor modes alter Emacs’s basic behavior.
Editing the white space at the beginnings of lines.
Commands and modes for editing human languages.
Commands and modes for editing programs.
Compiling, running and debugging programs.
Features for maintaining large programs.
Defining text abbreviations to reduce typing.
Directory and file manager.
Calendar and diary facilities.
Sending mail in Emacs.
Reading mail in Emacs.
A flexible mail and news reader.
Security issues on a single computer.
Managing the network security.
Viewing PDF, PS and DVI files.
Executing shell commands from Emacs.
Using Emacs as an editing server.
Printing hardcopies of buffers or regions.
Sorting lines, paragraphs or pages within Emacs.
Editing pictures made up of text characters.
Editing Binary Files
Editing binary files with Hexl mode.
Saving Emacs Sessions
Saving Emacs state from one session to the next.
Performing edits while within another command.
Following links in buffers.
Various games and hacks.
Installing additional features.
Modifying the behavior of Emacs.
Recovery from Problems
Quitting and aborting.
What to do if Emacs is hung or malfunctioning.
How and when to report a bug.
How to contribute improvements to Emacs.
How to get help for your own Emacs needs.
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.
Hairy startup options.
X resources for customizing Emacs.
Information about Emacs version 26.
Mac OS / GNUstep
Using Emacs under macOS and GNUstep.
Using Emacs on Microsoft Windows and MS-DOS.
What’s GNU? Gnu’s Not Unix!
Terms used in this manual.
Major contributors to GNU Emacs.
Indexes (each index contains a large menu)
An item for each standard Emacs key sequence.
An item for every command-line option.
An item for each standard command name.
An item for each variable documented in this manual.
An item for concepts and other general subjects.
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
The place in the text where editing commands operate.
Short messages appear at the bottom of the screen.
Interpreting the mode line.
How to use the menu bar.
Basic Editing Commands
Inserting text by simply typing it.
Moving the cursor to the place where you want to
Deleting and killing text.
Undoing recent changes in the text.
Visiting, creating, and saving files.
Asking what a character does.
Making and deleting blank lines.
How Emacs displays lines too wide for the screen.
What line, row, or column is point on?
Numeric arguments for repeating a command N times.
Repeating the previous command quickly.
Basic usage of the minibuffer.
Entering file names with the minibuffer.
How to edit in the minibuffer.
An abbreviation facility for minibuffer input.
Reusing recent minibuffer arguments.
Re-executing commands that used the minibuffer.
Entering passwords in the echo area.
Yes or No Prompts
Replying yes or no in the echo area.
Examples of using completion.
A list of completion commands.
Completion and minibuffer text submission.
How completion matches are chosen.
Options for completion.
Brief list of all Help commands.
Asking what a key does in Emacs.
Asking about a command, variable or function name.
Asking what pertains to a given topic.
Special features of Help mode and Help buffers.
Finding Lisp libraries by keywords (topics).
Help relating to international language support.
Other help commands.
Commands to display auxiliary help files.
Help on active text and tooltips.
The Mark and the Region
Commands to set the mark.
Commands to put region around textual units.
Summary of ways to operate on contents of the region.
Previous mark positions saved so you can go back there.
Global Mark Ring
Previous mark positions in various buffers.
Using shifted cursor motion keys.
Disabled Transient Mark
Leaving regions unhighlighted by default.
Killing and Moving Text
Deletion and Killing
Commands that remove text.
Commands that insert text.
Cut and Paste
Clipboard and selections on graphical displays.
Other methods to add text to the buffer.
Operating on text in rectangular areas.
Using C-x/C-c/C-v to kill and yank.
Deletion and Killing
Commands for deleting small amounts of text and
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.
Options that affect killing.
Where killed text is stored.
Yanking something killed some time ago.
Several kills in a row all yank together.
Cut and Paste Operations on Graphical Displays
How Emacs uses the system clipboard.
The temporarily selected text selection.
Cutting without altering point and mark.
Saving positions in registers.
Saving text in registers.
Saving rectangles in registers.
Saving window configurations in registers.
Numbers in registers.
File names in registers.
Keyboard Macro Registers
Keyboard macros in registers.
Bookmarks are like registers, but persistent.
Controlling the Display
Commands to move text up and down in a window.
A scroll command that centers the current line.
Redisplay scrolls text automatically when needed.
Moving text left and right in a window.
Restricting display and editing to a portion
of the buffer.
Viewing read-only buffers.
Follow mode lets two windows scroll as one.
How to change the display style using faces.
Specifying colors for faces.
The main predefined faces.
Increasing or decreasing text size in a buffer.
Minor mode for syntactic highlighting using faces.
Tell Emacs what text to highlight.
Enabling or disabling window fringes.
Displaying top and bottom of the buffer.
Showing possibly spurious trailing whitespace.
Hiding lines with lots of indentation.
Optional Mode Line
Optional mode line display features.
How text characters are normally displayed.
Features for displaying the cursor.
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.
Information on variables for customizing display.
Searching and Replacement
Search happens as you type the string.
Specify entire string and then search.
Search for sequence of words.
Search for a source code symbol.
Search for match for a regexp.
Syntax of regular expressions.
Regular expression constructs starting with ‘\’.
A complex regular expression explained.
Search ignores some distinctions between
similar characters, like letter-case.
Search, and replace some or all matches.
Other Repeating Search
Operating on all matches for some regexp.
Various search customizations.
Basic incremental search commands.
Searching for the same string again.
Commands that grab text into the search string
or else edit the search string.
Error in Isearch
When your string is not found.
Special input in incremental search.
Not Exiting Isearch
Prefix argument and scrolling commands.
Incremental search of the minibuffer history.
Replacing all matches for a string.
Replacing all matches for a regexp.
Replacement and Lax Matches
Lax searching for text to replace.
How to use querying.
Commands for Fixing Typos
The Undo commands.
Exchanging two characters, words, lines, lists...
Correcting case of last word entered.
Apply spelling checker to a word, or a whole file.
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
Save Keyboard Macro
Giving keyboard macros names; saving them in
Edit Keyboard Macro
Editing keyboard macros.
Keyboard Macro Step-Edit
Interactively executing and editing a keyboard
How to type and edit file-name arguments.
Visiting a file prepares Emacs to edit the file.
Saving makes your changes permanent.
Reverting cancels all the changes not saved.
Keeping buffers automatically up-to-date.
Auto Save periodically protects against loss of data.
Handling multiple names for one file.
Creating, deleting, and listing file directories.
Finding where two files differ.
Mode for editing file differences.
Copying and Naming
Copying, naming and renaming files.
Misc File Ops
Other things you can do on files.
Accessing compressed files.
Operating on tar, zip, jar etc. archive 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.
Convenience features for finding files.
Viewing image files.
Handling sets of files.
Commands for saving files.
How Emacs saves the old version of your file.
Customizing the saving of files.
How Emacs protects against simultaneous editing
of one file by two users.
Copying files to shadows automatically.
Emacs can update time stamps on saved files.
How backup files are named.
Emacs deletes excess numbered backups.
Backups can be made by copying or renaming.
Auto Reverting Non-File Buffers
Auto Reverting the Buffer Menu
Auto Revert of the Buffer Menu.
Auto Reverting Dired
Auto Revert of Dired buffers.
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.
Recovering text from auto-save files.
Using Multiple Buffers
Creating a new buffer or reselecting an old one.
Getting a list of buffers that exist.
Renaming; changing read-only status; copying text.
Killing buffers you no longer need.
How to go through the list of all buffers
and operate variously on several of them.
An indirect buffer shares the text of another buffer.
Convenience and customization features for
Convenience Features and Customization of Buffer Handling
Making buffer names unique with directory parts.
Fast minibuffer selection.
Configurable buffer menu.
Introduction to Emacs windows.
New windows are made by splitting existing windows.
Moving to another window or doing something to it.
Pop Up Window
Finding a file or buffer in another window.
Deleting windows and changing their sizes.
How Emacs picks a window for displaying a buffer.
Displaying non-editable buffers.
Convenience functions for window handling.
Window tab line.
Displaying a Buffer in a Window
Frames and Graphical Displays
Moving, cutting, and pasting, with the mouse.
Word and Line Mouse
Mouse commands for selecting whole words or lines.
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 additional Emacs frames with various contents.
Iconifying, deleting, and switching frames.
Changing the frame font.
How to make and use a speedbar frame.
How one Emacs instance can talk to several displays.
Changing the colors and other modes of frames.
How to enable and disable scroll bars; how to use them.
Window separators that can be dragged with the mouse.
Drag and Drop
Using drag and drop to open files and insert text.
Enabling and disabling the menu bar.
Enabling and disabling the tool bar.
Enabling and disabling the tab bar.
Controlling use of dialog boxes.
Displaying information at the current mouse position.
Preventing the mouse pointer from obscuring text.
Multiple frames on terminals that show only one.
Using the mouse in text terminals.
International Character Set Support
Basic concepts of multibyte characters.
Setting things up for the language you use.
Entering text characters not on your keyboard.
Select Input Method
Specifying your choice of input methods.
Character set conversion when you read and
write files, and so on.
How Emacs figures out which conversion to use.
Specifying a file’s coding system explicitly.
Choosing coding systems for output.
Choosing conversion to use for file text.
Coding systems for interprocess communication.
File Name Coding
Coding systems for file names.
Specifying coding systems for converting
terminal input and output.
Fontsets are collections of fonts
that cover the whole spectrum of characters.
Defining a new fontset.
Modifying an existing fontset.
When characters don’t display.
You can pick one European character set
to use without multibyte characters.
How Emacs groups its internal character codes.
Support for right-to-left scripts.
Major and Minor Modes
Text mode vs. Lisp mode vs. C mode...
Each minor mode is a feature you can turn on
independently of any others.
How modes are chosen when visiting files.
More commands for performing indentation.
Stop points for indentation in Text modes.
Using only space characters for indentation.
Optional indentation features.
Commands for Human Languages
Moving over and killing words.
Moving over and killing sentences.
Moving over paragraphs.
Moving over pages.
Inserting quotation marks.
Filling or justifying text.
Changing the case of text.
The major modes for editing text files.
The Emacs organizer.
Editing TeX and LaTeX files.
Editing HTML and SGML files.
Editing input to the nroff formatter.
Editing text enriched with fonts, colors, etc.
Text Based Tables
Commands for editing text-based tables.
Splitting text columns into separate windows.
Auto Fill mode breaks long lines automatically.
Commands to refill paragraphs and center lines.
Filling paragraphs that are indented
or in a comment, etc.
How Emacs can determine the fill prefix automatically.
What the text of an outline looks like.
Special commands for moving through outlines.
Commands to control what is visible.
Outlines and multiple views.
Folding means zooming in on outlines.
Managing TODO lists and agendas.
Exporting Org buffers to various formats.
Special commands for editing in TeX mode.
Additional commands for LaTeX input files.
Commands for printing part of a file with TeX.
Customization of TeX mode, and related features.
Entering and exiting Enriched mode.
Hard and Soft Newlines
There are two different kinds of newlines.
Editing Format Info
How to edit text properties.
Bold, italic, underline, etc.
Changing the left and right margins.
Centering, setting text flush with the
left or right margin, etc.
The “Special text properties” submenu.
Editing Text-based Tables
What is a text based table.
How to create a table.
How to activate and deactivate tables.
Cell-oriented commands in a table.
Justifying cell contents.
Table Rows and Columns
Inserting and deleting rows and columns.
Converting between plain text and tables.
Major modes for editing programs.
Commands to operate on major top-level parts
of a program.
Adjusting indentation to show the nesting.
Commands that operate on parentheses.
Inserting, killing, and aligning comments.
Getting documentation of functions you plan to call.
Displaying blocks selectively.
Completion on symbol names of your program or language.
Dealing with identifiersLikeThis.
Suite of editing tools based on source code parsing.
Misc for Programs
Other Emacs features useful for editing programs.
Special commands of C, C++, Objective-C,
Java, IDL, Pike and AWK modes.
Asm mode and its special features.
Fortran mode and its special features.
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.
Making buffer indexes as menus.
Which Function mode shows which function you are in.
Indentation for Programs
Indenting a single line.
Commands to reindent many lines at once.
Specifying how each Lisp function should be indented.
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 with balanced parentheses.
Moving by Parens
Commands for moving up, down and across
in the structure of parentheses.
Insertion of a close-delimiter flashes matching open.
Inserting, killing, and aligning comments.
Commands for adding and editing multi-line comments.
Options for Comments
Customizing the comment features.
Looking up library functions and commands in Info files.
Looking up man pages of library functions and commands.
Looking up Emacs Lisp functions, etc.
C and Related Modes
Motion in C
Commands to move by C statements, etc.
Colon and other chars can automatically reindent.
A more powerful DEL command.
Other C Commands
Filling comments, viewing expansion of macros,
and other neat features.
Moving point by statements or subprograms.
Indentation commands for Fortran.
Inserting and aligning comments.
Auto fill support for Fortran.
Measuring columns for valid Fortran.
Built-in abbrevs for Fortran keywords.
Commands for indenting and filling Fortran.
How continuation lines indent.
How line numbers auto-indent.
Conventions you must obey to avoid trouble.
Variables controlling Fortran indent style.
Compiling and Testing Programs
Compiling programs in languages other
than Lisp (C, Pascal, etc.).
The mode for visiting compiler errors.
Customizing your shell properly
for use in the compilation buffer.
Searching with grep.
Finding syntax errors on the fly.
Running symbolic debuggers for non-Lisp programs.
Various modes for editing Lisp programs,
with different facilities for running
the Lisp programs.
How Lisp programs are loaded into Emacs.
Executing a single Lisp expression in Emacs.
Executing Lisp in an Emacs buffer.
Communicating through Emacs with a separate Lisp.
Running Debuggers Under Emacs
How to start a debugger subprocess.
Connection between the debugger and source buffers.
Commands of GUD
Key bindings for common commands.
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.
Use the mouse in the fringe/margin to
control your program.
A breakpoint control panel.
Displays your threads.
Select a frame from the call stack.
Other GDB Buffers
Other buffers for controlling the GDB state.
Monitor variable values in the speedbar.
Debugging programs with several threads.
Maintaining Large Programs
Using version control systems.
Commands for handling source files in a project.
Maintaining a change history for your program.
Find definitions and references of any function,
method, struct, macro, … in your program.
An integrated development environment for Emacs.
A convenient way of merging two versions of a program.
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.
Features available in log entry buffers.
Putting a file under version control.
Examining and comparing old versions.
VC Change Log
Viewing the VC Change Log.
Canceling changes before or after committing.
Ignore files under version control system.
VC Directory Mode
Listing files managed by version control.
Multiple lines of development.
Various other commands and features of VC.
Variables that change VC’s behavior.
Introduction to Version Control
Why Version Control?
Understanding the problems it addresses.
Version Control Systems
Supported version control back-end systems.
Words and concepts related to version control.
How file conflicts are handled.
How changes are grouped.
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
How to get to another existing branch.
Pulling / Pushing
Receiving/sending changes from/to elsewhere.
Transferring changes between branches.
How to start a new branch.
Miscellaneous Commands and Features of VC
Change Logs and VC
Generating a change log file from log entries.
Deleting and renaming version-controlled files.
Symbolic names for revisions.
Inserting version control headers into working files.
General VC Options
Options that apply to multiple back ends.
RCS and SCCS
Options for RCS and SCCS.
Options for CVS.
Change Log Commands
Commands for editing change log files.
Format of ChangeLog
What the change log file looks like.
Commands to find where an identifier is defined
or referenced, to list identifiers, etc.
Tags table records which file defines a symbol.
Select Tags Table
How to visit a specific tags table.
Looking Up Identifiers
Commands to find the definition of a specific tag.
Commands in the
Searching and replacing identifiers.
Listing identifiers and completing on them.
Tag syntax for various types of code and text files.
Create Tags Table
Creating a tags table with
Create arbitrary tags using regular expressions.
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.
Commands for selecting a difference,
changing states of differences, etc.
What to do when you’ve finished the merge.
Combining in Emerge
How to keep both alternatives for a difference.
Fine Points of Emerge
Fundamentals of defined abbrevs.
Defining an abbrev, so it will expand when typed.
Controlling expansion: prefixes, canceling expansion.
Viewing or editing the entire list of defined abbrevs.
Saving the entire list of abbrevs for another session.
Abbreviations for words already in the buffer.
What is a word, for dynamic abbrevs. Case handling.
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.
Dired, the Directory Editor
How to invoke Dired.
Special motion commands in the Dired buffer.
Deleting files with Dired.
Flagging Many Files
Flagging files based on their names.
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
diff by way of Dired.
Subdirectories in Dired
Adding subdirectories to the Dired buffer.
Subdirectory switches in Dired.
Moving across subdirectories, and up and down.
Making subdirectories visible or invisible.
Discarding lines for files of no interest.
Dired and Find
find to choose the files for Dired.
Operating on files by editing the Dired buffer.
Viewing image thumbnails in Dired.
Misc Dired Features
Various other features.
The Calendar and the Diary
Moving through the calendar; selecting a date.
Bringing earlier or later months onto the screen.
How many days are there between two dates?
Exiting or recomputing the calendar.
Writing Calendar Files
Writing calendars to files of various formats.
Displaying dates of holidays.
Displaying local times of sunrise and sunset.
Displaying phases of the moon.
Converting dates to other calendar systems.
Displaying events from your diary.
How to specify when daylight saving time is active.
Keeping track of time intervals.
Advanced Calendar/Diary Usage
Advanced Calendar/Diary customization.
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.
Moving to the current date or another
Conversion To and From Other Calendars
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.
Format of Diary File
Entering events in your diary.
Displaying the Diary
Viewing diary entries and associated calendar dates.
Various ways you can specify dates.
Adding to Diary
Commands to create diary entries.
Special Diary Entries
Anniversaries, blocks of dates, cyclic entries, etc.
Reminders when it’s time to do something.
Converting diary events to/from other formats.
More advanced features of the Calendar and Diary
Calendar layout and hooks.
Defining your own holidays.
Moving to a date specified in a Mayan calendar.
Date Display Format
Changing the format.
Time Display Format
Changing the format.
Defaults you can set.
Diary entries based on other calendars.
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.
Format of a mail message.
Details of some standard mail header fields.
Abbreviating and grouping mail addresses.
Special commands for editing mail being composed.
Adding a signature to every message.
Distracting the NSA; adding fortune messages.
Using alternative mail-composition methods.
Commands to send the message.
Commands to move to header fields and edit them.
Quoting a message you are replying to.
Attachments, spell checking, etc.
Reading Mail with Rmail
Basic concepts of Rmail, and simple use.
Scrolling through a message.
Moving to another message.
Deleting and expunging messages.
How mail gets into the Rmail file.
Using multiple Rmail files.
Copying message out to files.
Classifying messages by labeling them.
Certain standard labels, called attributes.
Sending replies to messages you are viewing.
Summaries show brief info on many messages.
Sorting messages in Rmail.
How Rmail displays a message; customization.
How Rmail handles decoding character sets.
Editing message text and headers in Rmail.
Extracting the messages from a digest message.
Reading messages encoded in the rot13 code.
More details of fetching new mail.
Retrieving mail from remote mailboxes.
Other Mailbox Formats
Retrieving mail from local mailboxes in
Rmail Make Summary
Making various sorts of summaries.
Rmail Summary Edit
Manipulating messages from the summary.
Buffers of Gnus
The group, summary, and article buffers.
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.
Navigating DocView buffers.
Searching inside documents.
Specifying which part of a page is displayed.
Influencing and triggering conversion.
Running Shell Commands from Emacs
How to run one shell command and return.
Permanent shell taking input via Emacs.
Special Emacs commands used with permanent shell.
Two ways to recognize shell prompts.
Repeating previous commands in a shell buffer.
Keeping track when the subshell changes directory.
Options for customizing Shell mode.
An Emacs window as a terminal emulator.
Special Emacs commands used in Term mode.
Connecting to another computer.
Connecting to a serial port.
Shell Command History
Fetching commands from the history list.
Shell History Copying
Moving to a command and then copying it.
!’-style history references.
Using Emacs as a Server
TCP Emacs server
Listening to a TCP socket.
Connecting to the Emacs server.
Emacs client startup options.
Printing Hard Copies
Printing buffers or regions as PostScript.
Customizing the PostScript printing commands.
An optional advanced printing interface.
Hyperlinking and Navigation Features
A web browser in Emacs.
Embedded WebKit Widgets
Embedding browser widgets in Emacs buffers.
Goto Address mode
Finding files etc. at point.
Emacs Lisp Packages
Buffer for viewing and managing packages.
Which statuses a package can have.
Options for package installation.
Where packages are installed.
Convenient way to browse and change settings.
Many Emacs commands examine Emacs variables
to decide what to do; by setting variables,
you can control their functioning.
The keymaps say what command each key runs.
By changing them, you can redefine keys.
How to write common customizations in the
Keeping persistent authentication information.
Easy Customization Interface
How settings are classified.
Browsing and searching for settings.
Changing a Variable
How to edit an option’s value and set the option.
Saving customizations for future Emacs sessions.
How to edit the attributes of a face.
Customizing specific settings or groups.
Collections of customization settings.
Creating Custom Themes
How to create a new custom theme.
Examining or setting one variable’s value.
Hook variables let you specify programs for parts
of Emacs to run on particular occasions.
Per-buffer values of variables.
How files can specify variable values.
How variable values can be specified by directory.
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.
Customizing Key Bindings
Generalities. The global keymap.
Keymaps for prefix keys.
Major and minor modes have their own keymaps.
The minibuffer uses its own local keymaps.
How to redefine one key’s meaning conveniently.
Rebinding keys with your initialization file.
Using modifier keys in key bindings.
Rebinding terminal function keys.
Named ASCII Chars
TAB from C-i, and so on.
Rebinding mouse buttons in Emacs.
Disabling a command means confirmation is required
before it can be executed. This is done to protect
beginners from surprises.
The Emacs Initialization File
Syntax of constants in Emacs Lisp.
How to do some things with an init file.
Each terminal type can have an init file.
How Emacs finds the init file.
Using non-ASCII characters in an init file.
Early Init File
Another init file, which is read early on.
Dealing with Emacs Trouble
DEL Does Not Delete
What to do if
DEL doesn’t delete.
’[...]’ in mode line around the parentheses.
Garbage on the screen.
Garbage in the text.
How to cope when you run out of memory.
What Emacs does when it crashes.
After a Crash
Recovering editing in an Emacs session that crashed.
What to do if Emacs stops responding.
Mitigating slowness due to extremely long lines.
How to read about known problems and bugs.
Have you really found a bug?
Understanding Bug Reporting
How to report a bug effectively.
Steps to follow for a good bug report.
How to send a patch for GNU Emacs.
Contributing to Emacs Development
GNU Emacs coding standards.
Assigning copyright to the FSF.
Command Line Arguments for Emacs Invocation
Arguments to visit files, load libraries,
and call functions.
Arguments that take effect while starting Emacs.
Examples of using command line arguments.
Environment variables that Emacs uses.
Changing the default display and using remote login.
Choosing a font for text, under X.
Choosing display colors.
Window Size X
Start-up window size, under X.
Internal and outer borders, under X.
Specifying the initial frame’s title.
Choosing what sort of icon to use, under X.
Other display options.
Environment variables that all versions of Emacs use.
Certain system-specific variables.
An alternative to the environment on MS-Windows.
X Options and Resources
Using X resources with Emacs (in general).
Table of Resources
Table of specific X resources that affect Emacs.
X resources for Lucid menus.
X resources for Motif and LessTif menus.
Resources for GTK widgets.
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.
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.
Details on status of GNUstep support.
Emacs and Microsoft Windows/MS-DOS
How to start Emacs on Windows.
Text and Binary
Text files use CRLF to terminate lines.
File-name conventions on Windows.
ls in Lisp
ls for Dired.
Where Emacs looks for your
where it starts up.
Windows-specific keyboard features.
Windows-specific mouse features.
Running subprocesses on Windows.
How to specify the printer on MS-Windows.
Specifying fonts on MS-Windows.
Miscellaneous Windows features.
Using Emacs on MS-DOS.
Emacs and MS-DOS
Keyboard conventions on MS-DOS.
Mouse conventions on MS-DOS.
Fonts, frames and display size on MS-DOS.
MS-DOS File Names
File name conventions on MS-DOS.
Printing specifics on MS-DOS.
MS-DOS and MULE
Support for internationalization on MS-DOS.
Running subprocesses on MS-DOS.
Copyright © 1985–1987, 1993–2020 Free Software Foundation,
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
(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.”