Emacs/emacs/index
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 27.1.
The homepage for GNU Emacs is at https://www.gnu.org/software/emacs/. To view this manual in other formats, click here. You can also purchase a printed copy from the FSF store. 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, function keys).
Key sequences: what you type to request one editing action.
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.
Advanced Features
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 with Hexl mode.
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.
Appendices
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.
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 change something.
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.
The Minibuffer
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.
Replying yes or no in the echo area.
Completion
Examples of using completion.
A list of completion commands.
Completion and minibuffer text submission.
How completion matches are chosen.
Options for completion.
Help
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.
Previous mark positions in various buffers.
Using shifted cursor motion keys.
Leaving regions unhighlighted by default.
Killing and Moving Text
Commands that remove text.
Commands that insert text.
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 blank areas.
How to kill entire lines of text at one time.
Commands to kill large regions of text and syntactic units such as words and sentences.
Options that affect killing.
Yanking
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.
Registers
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 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 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.
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.
Operating on all matches for some regexp.
Various search customizations.
Incremental Search
Basic incremental search commands.
Searching for the same string again.
Commands that grab text into the search string or else edit the search string.
When your string is not found.
Special input in incremental search.
Prefix argument and scrolling commands.
Incremental search of the minibuffer history.
Replacement Commands
Replacing all matches for a string.
Replacing all matches for a regexp.
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.
Keyboard Macros
Defining and running keyboard macros.
Where previous keyboard macros are saved.
Inserting incrementing numbers in macros.
Making keyboard macros do different things each time.
Giving keyboard macros names; saving them in files.
Editing keyboard macros.
Interactively executing and editing a keyboard macro.
File Handling
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, naming and renaming files.
Other things you can do on files.
Accessing compressed files.
Operating on tar, zip, jar etc. archive files.
Accessing files on other machines.
Quoting special characters in file names.
Completion against a list of files you often use.
Convenience features for finding files.
Viewing image files.
Handling sets of files.
Saving 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.
Backup 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 Revert of Dired buffers.
Auto-Saving: Protection Against Disasters
The file where auto-saved changes are actually made until you save the file.
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 buffer handling.
Convenience Features and Customization of Buffer Handling
Making buffer names unique with directory parts.
Fast minibuffer selection.
Configurable buffer menu.
Multiple Windows
Introduction to Emacs windows.
New windows are made by splitting existing windows.
Moving to another window or doing something to it.
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
How display-buffer
works.
Frames and Graphical Displays
Moving, cutting, and pasting, with the mouse.
Mouse commands for selecting whole words or lines.
Using the mouse to select an item from a list.
Mouse clicks that bring up menus.
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.
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.
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.
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.
Indentation
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.
Editing outlines.
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.
Commands for editing text-based tables.
Splitting text columns into separate windows.
Filling Text
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.
Outline Mode
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.
Org Mode
Managing TODO lists and agendas.
Exporting Org buffers to various formats.
TeX Mode
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.
Enriched Text
Entering and exiting Enriched mode.
There are two different kinds of newlines.
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.
Inserting and deleting rows and columns.
Converting between plain text and tables.
Table miscellany.
Editing Programs
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.
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
An open-paren or similar opening delimiter starts a defun if it is at the left margin.
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.
Controlling indentation style for C and related modes.
Commands for Editing with Parentheses
Expressions with balanced parentheses.
Commands for moving up, down and across in the structure of parentheses.
Insertion of a close-delimiter flashes matching open.
Manipulating Comments
Inserting, killing, and aligning comments.
Commands for adding and editing multi-line comments.
Customizing the comment features.
Documentation Lookup
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
Commands to move by C statements, etc.
Colon and other chars can automatically reindent.
A more powerful DEL command.
Filling comments, viewing expansion of macros, and other neat features.
Fortran Mode
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.
Fortran Indentation
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.
Key bindings for common commands.
Defining your own commands for GUD.
An enhanced mode that uses GDB features to implement a graphical debugging environment.
GDB Graphical Interface
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 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.
Version Control
How version control works in general.
How the mode line shows version control status.
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.
Viewing the VC Change Log.
Canceling changes before or after committing.
Ignore files under version control system.
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
Understanding the problems it addresses.
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.
The VCS log in contrast to the ChangeLog.
Basic Editing under Version Control
Without locking: default mode for CVS.
RCS in its default mode, SCCS, and optionally CVS.
Advanced features available with a prefix argument.
VC Directory Mode
What the buffer looks like and means.
Commands to use in a VC directory buffer.
Version Control Branches
How to get to another existing branch.
Receiving/sending changes from/to elsewhere.
Transferring changes between branches.
How to start a new branch.
Miscellaneous Commands and Features of 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.
Customizing VC
Options that apply to multiple back ends.
Options for RCS and SCCS.
Options for CVS.
Change Logs
Commands for editing change log files.
What the change log file looks like.
Xref
Commands to find where an identifier is defined or referenced, to list identifiers, etc.
Tags table records which file defines a symbol.
How to visit a specific tags table.
Find Identifiers
Commands to find the definition of a specific tag.
Commands in the *xref*
buffer.
Searching and replacing identifiers.
Listing identifiers and completing on them.
Tags Tables
Tag syntax for various types of code and text files.
Creating a tags table with etags
.
Create arbitrary tags using regular expressions.
Merging Files with Emerge
How to start Emerge. Basic concepts.
Fast mode vs. Edit mode. Skip Prefers mode and Auto Advance mode.
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.
How to keep both alternatives for a difference.
Miscellaneous issues.
Abbrevs
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.
Editing Pictures
Basic concepts and simple commands of Picture Mode.
Controlling direction of cursor motion after self-inserting characters.
Various features for tab stops and indentation.
Clearing and superimposing rectangles.
Dired, the Directory Editor
How to invoke Dired.
Special motion commands in the Dired buffer.
Deleting files with Dired.
Flagging files based on their names.
Other file operations through Dired.
Flagging for deletion vs marking.
How to copy, rename, print, compress, etc. either one file or several files.
Running a shell command on the marked files.
Using patterns to rename multiple files.
Running diff
by way of 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.
Using find
to choose the files for Dired.
Operating on files by editing the Dired buffer.
Viewing image thumbnails in Dired.
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 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 customization.
Movement in the Calendar
Moving by days, weeks, months, and years.
Moving to start/end of weeks, months, and years.
Moving to the current date or another specific date.
Conversion To and From Other Calendars
The calendars Emacs understands (aside from Gregorian).
Converting the selected date to various calendars.
Moving to a date specified in another calendar.
The Diary
Entering events in your diary.
Viewing diary entries and associated calendar dates.
Various ways you can specify dates.
Commands to create 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.
Changing the format.
Changing the format.
Defaults you can set.
Diary entries based on other calendars.
A choice of ways to display the diary.
Sorting diary entries, using included diary files.
More flexible diary entries.
Sending Mail
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.
Mail Commands
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.
Retrieving mail from local mailboxes in various formats.
Rmail Summaries
Making various sorts of summaries.
Manipulating messages from the summary.
Gnus
The group, summary, and article buffers.
What you should know about starting Gnus.
A short description of Gnus group commands.
A short description of Gnus summary commands.
Document Viewing
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.
Moving to a command and then copying it.
Expanding ‘!
’-style history references.
Using Emacs as a 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.
Embedding browser widgets in Emacs buffers.
Following URLs.
Activating URLs.
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.
Customization
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 initialization file.
Keeping persistent authentication information.
Easy Customization Interface
How settings are classified.
Browsing and searching for settings.
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.
How to create a new custom theme.
Variables
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 local 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.
Distinguishing 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.
Another init file, which is read early on.
Dealing with Emacs Trouble
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.
Recovering editing in an Emacs session that crashed.
What to do if Emacs stops responding.
Mitigating slowness due to extremely long lines.
Reporting Bugs
How to read about known problems and bugs.
Have you really found a bug?
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.
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
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 specific X resources that affect Emacs.
X resources for Lucid menus.
X resources for Motif and LessTif menus.
Resources for GTK widgets.
GTK resources
Basic usage of GTK+ resources.
How GTK+ widgets are named.
GTK+ widgets used by Emacs.
What can be customized in a GTK+ widget.
Emacs and macOS / GNUstep
Basic Emacs usage under GNUstep or macOS.
Customizations under GNUstep or macOS.
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 files use CRLF to terminate lines.
File-name conventions on Windows.
Emulation of ls
for Dired.
Where Emacs looks for your .emacs
and
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.
File name conventions on MS-DOS.
Printing specifics on MS-DOS.
Support for internationalization on MS-DOS.
Running subprocesses on MS-DOS.
Copyright © 1985–1987, 1993–2020 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.”