Close sidebar
GNU Emacs
Emacs
Distrib
Intro
The Organization of the Screen
Point
The Echo Area
The Mode Line
The Menu Bar
Kinds of User Input
Keys
Mouse Input
Keys and Commands
Touchscreen Input and Virtual Keyboards
Using Emacs on Touchscreens
Using Emacs with Virtual Keyboards
Entering Emacs
Exiting Emacs
Basic Editing Commands
Inserting Text
Changing the Location of Point
Erasing Text
Undoing Changes
Files
Help
Blank Lines
Continuation Lines
Cursor Position Information
Numeric Arguments
Repeating a Command
The Minibuffer
Using the Minibuffer
Minibuffers for File Names
Editing in the Minibuffer
Completion
Completion Example
Completion Commands
Completion Exit
How Completion Alternatives Are Chosen
Completion Options
Minibuffer History
Repeating Minibuffer Commands
Entering passwords
Yes or No Prompts
Running Commands by Name
Help
Help Summary
Documentation for a Key
Help by Command or Variable Name
Apropos
Help Mode Commands
Keyword Search for Packages
Help for International Language Support
Other Help Commands
Help Files
Help on Active Text and Tooltips
The Mark and the Region
Setting the Mark
Commands to Mark Textual Objects
Operating on the Region
The Mark Ring
The Global Mark Ring
Shift Selection
Disabling Transient Mark Mode
Killing and Moving Text
Deletion and Killing
Deletion
Killing by Lines
Other Kill Commands
Options for Killing
Yanking
The Kill Ring
Yanking Earlier Kills
Appending Kills
``Cut and Paste'' Operations on Graphical Displays
Using the Clipboard
Cut and Paste with Other Window Applications
Secondary Selection
Accumulating Text
Rectangles
CUA Bindings
Registers
Saving Positions in Registers
Saving Text in Registers
Saving Rectangles in Registers
Saving Window and Frame Configurations in Registers
Keeping Numbers in Registers
Keeping File and Buffer Names in Registers
Keyboard Macro Registers
Bookmarks
Controlling the Display
Scrolling
Recentering
Automatic Scrolling
Horizontal Scrolling
Narrowing
View Mode
Follow Mode
Text Faces
RGB Triplets
Standard Faces
Icons
Text Scale
Font Lock mode
Traditional Font Lock
Parser-based Font Lock
Interactive Highlighting
Window Fringes
Displaying Boundaries
Useless Whitespace
Selective Display
Optional Mode Line Features
How Text Is Displayed
Displaying the Cursor
Line Truncation
Visual Line Mode
Customization of Display
Searching and Replacement
Incremental Search
Basics of Incremental Search
Repeating Incremental Search
Isearch Yanking
Errors in Incremental Search
Special Input for Incremental Search
Not Exiting Incremental Search
Searching the Minibuffer
Nonincremental Search
Word Search
Symbol Search
Regular Expression Search
Syntax of Regular Expressions
Backslash in Regular Expressions
Regular Expression Example
Lax Matching During Searching
Replacement Commands
Unconditional Replacement
Regexp Replacement
Replace Commands and Lax Matches
Query Replace
Other Search-and-Loop Commands
Tailoring Search to Your Needs
Commands for Fixing Typos
Undo
Transposing Text
Case Conversion
Checking and Correcting Spelling
Keyboard Macros
Basic Use
The Keyboard Macro Ring
The Keyboard Macro Counter
Executing Macros with Variations
Naming and Saving Keyboard Macros
Editing a Keyboard Macro
Stepwise Editing a Keyboard Macro
Listing and Editing Keyboard Macros
File Handling
File Names
Visiting Files
Saving Files
Commands for Saving Files
Backup Files
Single or Numbered Backups
Automatic Deletion of Backups
Copying vs. Renaming
Customizing Saving of Files
Protection against Simultaneous Editing
Shadowing Files
Updating Time Stamps Automatically
Reverting a Buffer
Auto Revert: Keeping buffers automatically up-to-date
Auto Reverting Non-File Buffers
Auto Reverting the Buffer Menu
Auto Reverting Dired buffers
Auto-Saving: Protection Against Disasters
Auto-Save Files
Controlling Auto-Saving
Recovering Data from Auto-Saves
File Name Aliases
File Directories
Comparing Files
Diff Mode
Copying, Naming and Renaming Files
Miscellaneous File Operations
Accessing Compressed Files
File Archives
Remote Files
Quoted File Names
File Name Cache
Convenience Features for Finding Files
Viewing Image Files
Filesets
Using Multiple Buffers
Creating and Selecting Buffers
Listing Existing Buffers
Miscellaneous Buffer Operations
Killing Buffers
Operating on Several Buffers
Indirect Buffers
Convenience Features and Customization of Buffer Handling
Making Buffer Names Unique
Fast minibuffer selection
Customizing Buffer Menus
Multiple Windows
Concepts of Emacs Windows
Splitting Windows
Using Other Windows
Displaying in Another Window
Deleting and Resizing Windows
Displaying a Buffer in a Window
How =display-buffer= works
Displaying non-editable buffers.
Convenience Features for Window Handling
Window Tab Line
Window Tool Bar
Frames and Graphical Displays
Mouse Commands for Editing
Mouse Commands for Words and Lines
Following References with the Mouse
Mouse Clicks for Menus
Mode Line Mouse Commands
Creating Frames
Frame Commands
Fonts
Speedbar Frames
Multiple Displays
Frame Parameters
Scroll Bars
Window Dividers
Drag and Drop
Menu Bars
Tool Bars
Tab Bars
Using Dialog Boxes
Tooltips
Mouse Avoidance
Text Terminals
Using a Mouse in Text Terminals
International Character Set Support
Introduction to International Character Sets
Language Environments
Input Methods
Selecting an Input Method
Coding Systems
Recognizing Coding Systems
Specifying a File's Coding System
Choosing Coding Systems for Output
Specifying a Coding System for File Text
Coding Systems for Interprocess Communication
Coding Systems for File Names
Coding Systems for X Keyboard Input
Coding Systems for Terminal I/O
Fontsets
Defining Fontsets
Modifying Fontsets
Undisplayable Characters
Unibyte Editing Mode
Charsets
Bidirectional Editing
Major and Minor Modes
Major Modes
Minor Modes
Choosing File Modes
Indentation
Indentation Commands
Tab Stops
Tabs vs. Spaces
Convenience Features for Indentation
Code Alignment
Commands for Human Languages
Words
Sentences
Paragraphs
Pages
Quotation Marks
Filling Text
Auto Fill Mode
Explicit Fill Commands
The Fill Prefix
Adaptive Filling
Case Conversion Commands
Text Mode
Outline Mode
Outline Minor Mode
Format of Outlines
Outline Motion Commands
Outline Visibility Commands
Viewing One Outline in Multiple Views
Folding Editing
Org Mode
Org as an organizer
Org as an authoring system
TeX Mode
TeX Editing Commands
LaTeX Editing Commands
TeX Printing Commands
TeX Mode Miscellany
SGML and HTML Modes
Nroff Mode
Enriched Text
Enriched Mode
Hard and Soft Newlines
Editing Format Information
Faces in Enriched Text
Indentation in Enriched Text
Justification in Enriched Text
Setting Other Text Properties
Editing Text-based Tables
What is a Text-based Table?
Creating a Table
Table Recognition
Commands for Table Cells
Cell Justification
Table Rows and Columns
Converting Between Plain Text and Tables
Table Miscellany
Two-Column Editing
Editing Programs
Major Modes for Programming Languages
Top-Level Definitions, or Defuns
Left Margin Convention
Moving by Defuns
Moving by Sentences
Imenu
Which Function Mode
Indentation for Programs
Basic Program Indentation Commands
Indenting Several Lines
Customizing Lisp Indentation
Commands for C Indentation
Customizing C Indentation
Commands for Editing with Parentheses
Expressions with Balanced Parentheses
Moving in the Parenthesis Structure
Matching Parentheses
Manipulating Comments
Comment Commands
Multiple Lines of Comments
Options Controlling Comments
Documentation Lookup
Info Documentation Lookup
Man Page Lookup
Programming Language Documentation Lookup
Hideshow minor mode
Completion for Symbol Names
MixedCase Words
Semantic
Other Features Useful for Editing Programs
C and Related Modes
C Mode Motion Commands
Electric C Characters
Hungry Delete Feature in C
Other Commands for C Mode
Asm Mode
Fortran Mode
Motion Commands
Fortran Indentation
Fortran Indentation and Filling Commands
Continuation Lines
Line Numbers
Syntactic Conventions
Variables for Fortran Indentation
Fortran Comments
Auto Fill in Fortran Mode
Checking Columns in Fortran
Fortran Keyword Abbrevs
Compiling and Testing Programs
Running Compilations under Emacs
Compilation Mode
Subshells for Compilation
Searching with Grep under Emacs
Finding Syntax Errors On The Fly
Running Debuggers Under Emacs
Starting GUD
Debugger Operation
Commands of GUD
GUD Customization
GDB Graphical Interface
GDB User Interface Layout
Source Buffers
Breakpoints Buffer
Threads Buffer
Stack Buffer
Other GDB Buffers
Watch Expressions
Multithreaded Debugging
Executing Lisp Expressions
Libraries of Lisp Code for Emacs
Evaluating Emacs Lisp Expressions
Lisp Interaction Buffers
Running an External Lisp
Maintaining Large Programs
Version Control
Introduction to Version Control
Understanding the Problems it Addresses
Supported Version Control Systems
Concepts of Version Control
Merge-based vs Lock-based Version Control
Changeset-based vs File-based Version Control
Decentralized vs Centralized Repositories
Types of Log File
Version Control and the Mode Line
Basic Editing under Version Control
Basic Version Control with Merging
Basic Version Control with Locking
Advanced Control in =C-x v v=
Features of the Log Entry Buffer
Registering a File for Version Control
Examining And Comparing Old Revisions
VC Change Log
Undoing Version Control Actions
Ignore Version Control Files
VC Directory Mode
The VC Directory Buffer
VC Directory Commands
Version Control Branches
Switching between Branches
Pulling/Pushing Changes into/from a Branch
Merging Branches
Creating New Branches
Miscellaneous Commands and Features of VC
Change Logs and VC
Deleting and Renaming Version-Controlled Files
Revision Tags
Inserting Version Control Headers
Editing VC Commands
Preparing Patches
Customizing VC
General Options
Options for RCS and SCCS
Options specific for CVS
Working with Projects
Project Commands That Operate on Files
Project Commands That Operate on Buffers
Switching Projects
Managing the Project List File
Change Logs
Change Log Commands
Format of ChangeLog
Find Identifier References
Find Identifiers
Looking Up Identifiers
Commands Available in the =*xref*= Buffer
Searching and Replacing with Identifiers
Identifier Inquiries
Tags Tables
Source File Tag Syntax
Creating Tags Tables
Etags Regexps
Selecting a Tags Table
Emacs Development Environment
Merging Files with Emerge
Overview of Emerge
Submodes of Emerge
State of a Difference
Merge Commands
Exiting Emerge
Combining the Two Versions
Fine Points of Emerge
Bug Reference
Abbrevs
Abbrev Concepts
Defining Abbrevs
Controlling Abbrev Expansion
Abbrevs Suggestions
Examining and Editing Abbrevs
Saving Abbrevs
Dynamic Abbrev Expansion
Customizing Dynamic Abbreviation
Dired, the Directory Editor
Entering Dired
Navigation in the Dired Buffer
Deleting Files with Dired
Flagging Many Files at Once
Visiting Files in Dired
Dired Marks vs. Flags
Operating on Files
Shell Commands in Dired
Shell Command Guessing
Transforming File Names in Dired
File Comparison with Dired
Subdirectories in Dired
Subdirectory Switches in Dired
Moving Over Subdirectories
Hiding Subdirectories
Updating the Dired Buffer
Dired and =find=
Editing the Dired Buffer
Viewing Image Thumbnails in Dired
Other Dired Features
The Calendar and the Diary
Movement in the Calendar
Motion by Standard Lengths of Time
Beginning or End of Week, Month or Year
Specified Dates
Scrolling in the Calendar
Counting Days
Miscellaneous Calendar Commands
Writing Calendar Files
Holidays
Times of Sunrise and Sunset
Phases of the Moon
Conversion To and From Other Calendars
Supported Calendar Systems
Converting To Other Calendars
Converting From Other Calendars
The Diary
The Diary File
Displaying the Diary
Date Formats
Commands to Add to the Diary
Special Diary Entries
Appointments
Importing and Exporting Diary Entries
Daylight Saving Time
Summing Time Intervals
More advanced features of the Calendar and Diary
Customizing the Calendar
Customizing the Holidays
Converting from the Mayan Calendar
Date Display Format
Time Display Format
Customizing the Diary
Diary Entries Using non-Gregorian Calendars
Diary Display
Fancy Diary Display
Sexp Entries and the Fancy Diary Display
Sending Mail
The Format of the Mail Buffer
Mail Header Fields
Mail Aliases
Mail Commands
Mail Sending
Mail Header Editing
Citing Mail
Mail Miscellany
Mail Signature
Mail Amusements
Mail-Composition Methods
Reading Mail with Rmail
Basic Concepts of Rmail
Scrolling Within a Message
Moving Among Messages
Deleting Messages
Rmail Files and Inboxes
Multiple Rmail Files
Copying Messages Out to Files
Labels
Rmail Attributes
Sending Replies
Summaries
Making Summaries
Editing in Summaries
Sorting the Rmail File
Display of Messages
Rmail and Coding Systems
Editing Within a Message
Digest Messages
Reading Rot13 Messages
=movemail= program
Retrieving Mail from Remote Mailboxes
Retrieving Mail from Local Mailboxes in Various Formats
Email and Usenet News with Gnus
Gnus Buffers
When Gnus Starts Up
Using the Gnus Group Buffer
Using the Gnus Summary Buffer
Host Security
Network Security
Document Viewing
DocView Navigation
DocView Searching
DocView Slicing
DocView Conversion
Running Shell Commands from Emacs
Single Shell Commands
Interactive Subshell
Shell Mode
Shell Prompts
Shell Command History
Shell History Ring
Shell History Copying
Shell History References
Directory Tracking
Shell Mode Options
Emacs Terminal Emulator
Term Mode
Remote Host Shell
Serial Terminal
Using Emacs as a Server
TCP Emacs server
Invoking =emacsclient=
=emacsclient= Options
Printing Hard Copies
PostScript Hardcopy
Variables for PostScript Hardcopy
Printing Package
Sorting Text
Editing Pictures
Basic Editing in Picture Mode
Controlling Motion after Insert
Picture Mode Tabs
Picture Mode Rectangle Commands
Editing Binary Files
Saving Emacs Sessions
Recursive Editing Levels
Hyperlinking and Web Navigation Features
Web Browsing with EWW
Embedded WebKit Widgets
Following URLs
Activating URLs
Finding Files and URLs at Point
Games and Other Amusements
Emacs Lisp Packages
The Package Menu Buffer
Package Statuses
Package Installation
Package Files and Directory Layout
Specifying Package Sources
Customization
Easy Customization Interface
Customization Groups
Browsing and Searching for Settings
Changing a Variable
Saving Customizations
Customizing Faces
Customizing Specific Items
Custom Themes
Creating Custom Themes
Variables
Examining and Setting Variables
Hooks
Local Variables
Local Variables in Files
Specifying File Variables
Safety of File Variables
Per-Directory Local Variables
Per-Directory Variables via EditorConfig
Per-Connection Local Variables
Customizing Key Bindings
Keymaps
Prefix Keymaps
Local Keymaps
Minibuffer Keymaps
Changing Key Bindings Interactively
Rebinding Keys in Your Init File
Modifier Keys
Rebinding Function Keys
Named ASCII Control Characters
Rebinding Mouse Buttons
Disabling Commands
The Emacs Initialization File
Init File Syntax
Init File Examples
Terminal-specific Initialization
How Emacs Finds Your Init File
Non-ASCII Characters in Init Files
The Early Init File
Keeping Persistent Authentication Information
Quitting and Aborting
Dealing with Emacs Trouble
Recursive Editing Levels
Garbage on the Screen
Garbage in the Text
Running out of Memory
When Emacs Crashes
Recovery After a Crash
Emergency Escape
If =DEL= Fails to Delete
Reporting Bugs
Reading Existing Bug Reports and Known Problems
When Is There a Bug
Understanding Bug Reporting
Checklist for Bug Reports
Sending Patches for GNU Emacs
Contributing to Emacs Development
Coding Standards
Copyright Assignment
How To Get Help with GNU Emacs
GNU GENERAL PUBLIC LICENSE
GNU Free Documentation License
Command Line Arguments for Emacs Invocation
Action Arguments
Initial Options
Command Argument Example
Environment Variables
General Variables
Miscellaneous Variables
The MS-Windows System Registry
Specifying the Display Name
Font Specification Options
Window Color Options
Options for Window Size and Position
Internal and Outer Borders
Frame Titles
Icons
Other Display Options
X Options and Resources
X Resources
Table of X Resources for Emacs
Lucid Menu And Dialog X Resources
Motif Menu X Resources
GTK+ resources
GTK+ Resource Basics
GTK+ widget names
GTK+ Widget Names in Emacs
GTK+ styles
Emacs 29 Antinews
Emacs and macOS / GNUstep
Grabbing environment variables
macOS Trackpad/Mousewheel Variables
Windowing System Events under macOS / GNUstep
GNUstep Support
Emacs and Haiku
Haiku Installation and Startup
Font Backends and Selection under Haiku
Emacs and Android
Android History
Starting Emacs on Android
What Files Emacs Can Access on Android
Accessing Files from Other Programs on Android
Running Emacs under Android
The Android Window System
Font Backends and Selection under Android
Troubleshooting Startup Problems on Android
Installing Extra Software on Android
Emacs and Microsoft Windows/MS-DOS
How to Start Emacs on MS-Windows
Text Files and Binary Files
File Names on MS-Windows
Emulation of =ls= on MS-Windows
HOME and Startup Directories on MS-Windows
Keyboard Usage on MS-Windows
Mouse Usage on MS-Windows
Subprocesses on Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10
Printing and MS-Windows
Specifying Fonts on MS-Windows
Miscellaneous Windows-specific features
Emacs and MS-DOS
Keyboard Usage on MS-DOS
Mouse Usage on MS-DOS
Display on MS-DOS
File Names on MS-DOS
Printing and MS-DOS
International Support on MS-DOS
Subprocesses on MS-DOS
Manifesto
Glossary
Acknowledgments
Key Index
Option Index
Command Index
Variable Index
Concept Index
GNU Emacs
Emacs
Distrib
Intro
The Organization of the Screen
Point
The Echo Area
The Mode Line
The Menu Bar
Kinds of User Input
Keys
Mouse Input
Keys and Commands
Touchscreen Input and Virtual Keyboards
Using Emacs on Touchscreens
Using Emacs with Virtual Keyboards
Entering Emacs
Exiting Emacs
Basic Editing Commands
Inserting Text
Changing the Location of Point
Erasing Text
Undoing Changes
Files
Help
Blank Lines
Continuation Lines
Cursor Position Information
Numeric Arguments
Repeating a Command
The Minibuffer
Using the Minibuffer
Minibuffers for File Names
Editing in the Minibuffer
Completion
Completion Example
Completion Commands
Completion Exit
How Completion Alternatives Are Chosen
Completion Options
Minibuffer History
Repeating Minibuffer Commands
Entering passwords
Yes or No Prompts
Running Commands by Name
Help
Help Summary
Documentation for a Key
Help by Command or Variable Name
Apropos
Help Mode Commands
Keyword Search for Packages
Help for International Language Support
Other Help Commands
Help Files
Help on Active Text and Tooltips
The Mark and the Region
Setting the Mark
Commands to Mark Textual Objects
Operating on the Region
The Mark Ring
The Global Mark Ring
Shift Selection
Disabling Transient Mark Mode
Killing and Moving Text
Deletion and Killing
Deletion
Killing by Lines
Other Kill Commands
Options for Killing
Yanking
The Kill Ring
Yanking Earlier Kills
Appending Kills
``Cut and Paste'' Operations on Graphical Displays
Using the Clipboard
Cut and Paste with Other Window Applications
Secondary Selection
Accumulating Text
Rectangles
CUA Bindings
Registers
Saving Positions in Registers
Saving Text in Registers
Saving Rectangles in Registers
Saving Window and Frame Configurations in Registers
Keeping Numbers in Registers
Keeping File and Buffer Names in Registers
Keyboard Macro Registers
Bookmarks
Controlling the Display
Scrolling
Recentering
Automatic Scrolling
Horizontal Scrolling
Narrowing
View Mode
Follow Mode
Text Faces
RGB Triplets
Standard Faces
Icons
Text Scale
Font Lock mode
Traditional Font Lock
Parser-based Font Lock
Interactive Highlighting
Window Fringes
Displaying Boundaries
Useless Whitespace
Selective Display
Optional Mode Line Features
How Text Is Displayed
Displaying the Cursor
Line Truncation
Visual Line Mode
Customization of Display
Searching and Replacement
Incremental Search
Basics of Incremental Search
Repeating Incremental Search
Isearch Yanking
Errors in Incremental Search
Special Input for Incremental Search
Not Exiting Incremental Search
Searching the Minibuffer
Nonincremental Search
Word Search
Symbol Search
Regular Expression Search
Syntax of Regular Expressions
Backslash in Regular Expressions
Regular Expression Example
Lax Matching During Searching
Replacement Commands
Unconditional Replacement
Regexp Replacement
Replace Commands and Lax Matches
Query Replace
Other Search-and-Loop Commands
Tailoring Search to Your Needs
Commands for Fixing Typos
Undo
Transposing Text
Case Conversion
Checking and Correcting Spelling
Keyboard Macros
Basic Use
The Keyboard Macro Ring
The Keyboard Macro Counter
Executing Macros with Variations
Naming and Saving Keyboard Macros
Editing a Keyboard Macro
Stepwise Editing a Keyboard Macro
Listing and Editing Keyboard Macros
File Handling
File Names
Visiting Files
Saving Files
Commands for Saving Files
Backup Files
Single or Numbered Backups
Automatic Deletion of Backups
Copying vs. Renaming
Customizing Saving of Files
Protection against Simultaneous Editing
Shadowing Files
Updating Time Stamps Automatically
Reverting a Buffer
Auto Revert: Keeping buffers automatically up-to-date
Auto Reverting Non-File Buffers
Auto Reverting the Buffer Menu
Auto Reverting Dired buffers
Auto-Saving: Protection Against Disasters
Auto-Save Files
Controlling Auto-Saving
Recovering Data from Auto-Saves
File Name Aliases
File Directories
Comparing Files
Diff Mode
Copying, Naming and Renaming Files
Miscellaneous File Operations
Accessing Compressed Files
File Archives
Remote Files
Quoted File Names
File Name Cache
Convenience Features for Finding Files
Viewing Image Files
Filesets
Using Multiple Buffers
Creating and Selecting Buffers
Listing Existing Buffers
Miscellaneous Buffer Operations
Killing Buffers
Operating on Several Buffers
Indirect Buffers
Convenience Features and Customization of Buffer Handling
Making Buffer Names Unique
Fast minibuffer selection
Customizing Buffer Menus
Multiple Windows
Concepts of Emacs Windows
Splitting Windows
Using Other Windows
Displaying in Another Window
Deleting and Resizing Windows
Displaying a Buffer in a Window
How =display-buffer= works
Displaying non-editable buffers.
Convenience Features for Window Handling
Window Tab Line
Window Tool Bar
Frames and Graphical Displays
Mouse Commands for Editing
Mouse Commands for Words and Lines
Following References with the Mouse
Mouse Clicks for Menus
Mode Line Mouse Commands
Creating Frames
Frame Commands
Fonts
Speedbar Frames
Multiple Displays
Frame Parameters
Scroll Bars
Window Dividers
Drag and Drop
Menu Bars
Tool Bars
Tab Bars
Using Dialog Boxes
Tooltips
Mouse Avoidance
Text Terminals
Using a Mouse in Text Terminals
International Character Set Support
Introduction to International Character Sets
Language Environments
Input Methods
Selecting an Input Method
Coding Systems
Recognizing Coding Systems
Specifying a File's Coding System
Choosing Coding Systems for Output
Specifying a Coding System for File Text
Coding Systems for Interprocess Communication
Coding Systems for File Names
Coding Systems for X Keyboard Input
Coding Systems for Terminal I/O
Fontsets
Defining Fontsets
Modifying Fontsets
Undisplayable Characters
Unibyte Editing Mode
Charsets
Bidirectional Editing
Major and Minor Modes
Major Modes
Minor Modes
Choosing File Modes
Indentation
Indentation Commands
Tab Stops
Tabs vs. Spaces
Convenience Features for Indentation
Code Alignment
Commands for Human Languages
Words
Sentences
Paragraphs
Pages
Quotation Marks
Filling Text
Auto Fill Mode
Explicit Fill Commands
The Fill Prefix
Adaptive Filling
Case Conversion Commands
Text Mode
Outline Mode
Outline Minor Mode
Format of Outlines
Outline Motion Commands
Outline Visibility Commands
Viewing One Outline in Multiple Views
Folding Editing
Org Mode
Org as an organizer
Org as an authoring system
TeX Mode
TeX Editing Commands
LaTeX Editing Commands
TeX Printing Commands
TeX Mode Miscellany
SGML and HTML Modes
Nroff Mode
Enriched Text
Enriched Mode
Hard and Soft Newlines
Editing Format Information
Faces in Enriched Text
Indentation in Enriched Text
Justification in Enriched Text
Setting Other Text Properties
Editing Text-based Tables
What is a Text-based Table?
Creating a Table
Table Recognition
Commands for Table Cells
Cell Justification
Table Rows and Columns
Converting Between Plain Text and Tables
Table Miscellany
Two-Column Editing
Editing Programs
Major Modes for Programming Languages
Top-Level Definitions, or Defuns
Left Margin Convention
Moving by Defuns
Moving by Sentences
Imenu
Which Function Mode
Indentation for Programs
Basic Program Indentation Commands
Indenting Several Lines
Customizing Lisp Indentation
Commands for C Indentation
Customizing C Indentation
Commands for Editing with Parentheses
Expressions with Balanced Parentheses
Moving in the Parenthesis Structure
Matching Parentheses
Manipulating Comments
Comment Commands
Multiple Lines of Comments
Options Controlling Comments
Documentation Lookup
Info Documentation Lookup
Man Page Lookup
Programming Language Documentation Lookup
Hideshow minor mode
Completion for Symbol Names
MixedCase Words
Semantic
Other Features Useful for Editing Programs
C and Related Modes
C Mode Motion Commands
Electric C Characters
Hungry Delete Feature in C
Other Commands for C Mode
Asm Mode
Fortran Mode
Motion Commands
Fortran Indentation
Fortran Indentation and Filling Commands
Continuation Lines
Line Numbers
Syntactic Conventions
Variables for Fortran Indentation
Fortran Comments
Auto Fill in Fortran Mode
Checking Columns in Fortran
Fortran Keyword Abbrevs
Compiling and Testing Programs
Running Compilations under Emacs
Compilation Mode
Subshells for Compilation
Searching with Grep under Emacs
Finding Syntax Errors On The Fly
Running Debuggers Under Emacs
Starting GUD
Debugger Operation
Commands of GUD
GUD Customization
GDB Graphical Interface
GDB User Interface Layout
Source Buffers
Breakpoints Buffer
Threads Buffer
Stack Buffer
Other GDB Buffers
Watch Expressions
Multithreaded Debugging
Executing Lisp Expressions
Libraries of Lisp Code for Emacs
Evaluating Emacs Lisp Expressions
Lisp Interaction Buffers
Running an External Lisp
Maintaining Large Programs
Version Control
Introduction to Version Control
Understanding the Problems it Addresses
Supported Version Control Systems
Concepts of Version Control
Merge-based vs Lock-based Version Control
Changeset-based vs File-based Version Control
Decentralized vs Centralized Repositories
Types of Log File
Version Control and the Mode Line
Basic Editing under Version Control
Basic Version Control with Merging
Basic Version Control with Locking
Advanced Control in =C-x v v=
Features of the Log Entry Buffer
Registering a File for Version Control
Examining And Comparing Old Revisions
VC Change Log
Undoing Version Control Actions
Ignore Version Control Files
VC Directory Mode
The VC Directory Buffer
VC Directory Commands
Version Control Branches
Switching between Branches
Pulling/Pushing Changes into/from a Branch
Merging Branches
Creating New Branches
Miscellaneous Commands and Features of VC
Change Logs and VC
Deleting and Renaming Version-Controlled Files
Revision Tags
Inserting Version Control Headers
Editing VC Commands
Preparing Patches
Customizing VC
General Options
Options for RCS and SCCS
Options specific for CVS
Working with Projects
Project Commands That Operate on Files
Project Commands That Operate on Buffers
Switching Projects
Managing the Project List File
Change Logs
Change Log Commands
Format of ChangeLog
Find Identifier References
Find Identifiers
Looking Up Identifiers
Commands Available in the =*xref*= Buffer
Searching and Replacing with Identifiers
Identifier Inquiries
Tags Tables
Source File Tag Syntax
Creating Tags Tables
Etags Regexps
Selecting a Tags Table
Emacs Development Environment
Merging Files with Emerge
Overview of Emerge
Submodes of Emerge
State of a Difference
Merge Commands
Exiting Emerge
Combining the Two Versions
Fine Points of Emerge
Bug Reference
Abbrevs
Abbrev Concepts
Defining Abbrevs
Controlling Abbrev Expansion
Abbrevs Suggestions
Examining and Editing Abbrevs
Saving Abbrevs
Dynamic Abbrev Expansion
Customizing Dynamic Abbreviation
Dired, the Directory Editor
Entering Dired
Navigation in the Dired Buffer
Deleting Files with Dired
Flagging Many Files at Once
Visiting Files in Dired
Dired Marks vs. Flags
Operating on Files
Shell Commands in Dired
Shell Command Guessing
Transforming File Names in Dired
File Comparison with Dired
Subdirectories in Dired
Subdirectory Switches in Dired
Moving Over Subdirectories
Hiding Subdirectories
Updating the Dired Buffer
Dired and =find=
Editing the Dired Buffer
Viewing Image Thumbnails in Dired
Other Dired Features
The Calendar and the Diary
Movement in the Calendar
Motion by Standard Lengths of Time
Beginning or End of Week, Month or Year
Specified Dates
Scrolling in the Calendar
Counting Days
Miscellaneous Calendar Commands
Writing Calendar Files
Holidays
Times of Sunrise and Sunset
Phases of the Moon
Conversion To and From Other Calendars
Supported Calendar Systems
Converting To Other Calendars
Converting From Other Calendars
The Diary
The Diary File
Displaying the Diary
Date Formats
Commands to Add to the Diary
Special Diary Entries
Appointments
Importing and Exporting Diary Entries
Daylight Saving Time
Summing Time Intervals
More advanced features of the Calendar and Diary
Customizing the Calendar
Customizing the Holidays
Converting from the Mayan Calendar
Date Display Format
Time Display Format
Customizing the Diary
Diary Entries Using non-Gregorian Calendars
Diary Display
Fancy Diary Display
Sexp Entries and the Fancy Diary Display
Sending Mail
The Format of the Mail Buffer
Mail Header Fields
Mail Aliases
Mail Commands
Mail Sending
Mail Header Editing
Citing Mail
Mail Miscellany
Mail Signature
Mail Amusements
Mail-Composition Methods
Reading Mail with Rmail
Basic Concepts of Rmail
Scrolling Within a Message
Moving Among Messages
Deleting Messages
Rmail Files and Inboxes
Multiple Rmail Files
Copying Messages Out to Files
Labels
Rmail Attributes
Sending Replies
Summaries
Making Summaries
Editing in Summaries
Sorting the Rmail File
Display of Messages
Rmail and Coding Systems
Editing Within a Message
Digest Messages
Reading Rot13 Messages
=movemail= program
Retrieving Mail from Remote Mailboxes
Retrieving Mail from Local Mailboxes in Various Formats
Email and Usenet News with Gnus
Gnus Buffers
When Gnus Starts Up
Using the Gnus Group Buffer
Using the Gnus Summary Buffer
Host Security
Network Security
Document Viewing
DocView Navigation
DocView Searching
DocView Slicing
DocView Conversion
Running Shell Commands from Emacs
Single Shell Commands
Interactive Subshell
Shell Mode
Shell Prompts
Shell Command History
Shell History Ring
Shell History Copying
Shell History References
Directory Tracking
Shell Mode Options
Emacs Terminal Emulator
Term Mode
Remote Host Shell
Serial Terminal
Using Emacs as a Server
TCP Emacs server
Invoking =emacsclient=
=emacsclient= Options
Printing Hard Copies
PostScript Hardcopy
Variables for PostScript Hardcopy
Printing Package
Sorting Text
Editing Pictures
Basic Editing in Picture Mode
Controlling Motion after Insert
Picture Mode Tabs
Picture Mode Rectangle Commands
Editing Binary Files
Saving Emacs Sessions
Recursive Editing Levels
Hyperlinking and Web Navigation Features
Web Browsing with EWW
Embedded WebKit Widgets
Following URLs
Activating URLs
Finding Files and URLs at Point
Games and Other Amusements
Emacs Lisp Packages
The Package Menu Buffer
Package Statuses
Package Installation
Package Files and Directory Layout
Specifying Package Sources
Customization
Easy Customization Interface
Customization Groups
Browsing and Searching for Settings
Changing a Variable
Saving Customizations
Customizing Faces
Customizing Specific Items
Custom Themes
Creating Custom Themes
Variables
Examining and Setting Variables
Hooks
Local Variables
Local Variables in Files
Specifying File Variables
Safety of File Variables
Per-Directory Local Variables
Per-Directory Variables via EditorConfig
Per-Connection Local Variables
Customizing Key Bindings
Keymaps
Prefix Keymaps
Local Keymaps
Minibuffer Keymaps
Changing Key Bindings Interactively
Rebinding Keys in Your Init File
Modifier Keys
Rebinding Function Keys
Named ASCII Control Characters
Rebinding Mouse Buttons
Disabling Commands
The Emacs Initialization File
Init File Syntax
Init File Examples
Terminal-specific Initialization
How Emacs Finds Your Init File
Non-ASCII Characters in Init Files
The Early Init File
Keeping Persistent Authentication Information
Quitting and Aborting
Dealing with Emacs Trouble
Recursive Editing Levels
Garbage on the Screen
Garbage in the Text
Running out of Memory
When Emacs Crashes
Recovery After a Crash
Emergency Escape
If =DEL= Fails to Delete
Reporting Bugs
Reading Existing Bug Reports and Known Problems
When Is There a Bug
Understanding Bug Reporting
Checklist for Bug Reports
Sending Patches for GNU Emacs
Contributing to Emacs Development
Coding Standards
Copyright Assignment
How To Get Help with GNU Emacs
GNU GENERAL PUBLIC LICENSE
GNU Free Documentation License
Command Line Arguments for Emacs Invocation
Action Arguments
Initial Options
Command Argument Example
Environment Variables
General Variables
Miscellaneous Variables
The MS-Windows System Registry
Specifying the Display Name
Font Specification Options
Window Color Options
Options for Window Size and Position
Internal and Outer Borders
Frame Titles
Icons
Other Display Options
X Options and Resources
X Resources
Table of X Resources for Emacs
Lucid Menu And Dialog X Resources
Motif Menu X Resources
GTK+ resources
GTK+ Resource Basics
GTK+ widget names
GTK+ Widget Names in Emacs
GTK+ styles
Emacs 29 Antinews
Emacs and macOS / GNUstep
Grabbing environment variables
macOS Trackpad/Mousewheel Variables
Windowing System Events under macOS / GNUstep
GNUstep Support
Emacs and Haiku
Haiku Installation and Startup
Font Backends and Selection under Haiku
Emacs and Android
Android History
Starting Emacs on Android
What Files Emacs Can Access on Android
Accessing Files from Other Programs on Android
Running Emacs under Android
The Android Window System
Font Backends and Selection under Android
Troubleshooting Startup Problems on Android
Installing Extra Software on Android
Emacs and Microsoft Windows/MS-DOS
How to Start Emacs on MS-Windows
Text Files and Binary Files
File Names on MS-Windows
Emulation of =ls= on MS-Windows
HOME and Startup Directories on MS-Windows
Keyboard Usage on MS-Windows
Mouse Usage on MS-Windows
Subprocesses on Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10
Printing and MS-Windows
Specifying Fonts on MS-Windows
Miscellaneous Windows-specific features
Emacs and MS-DOS
Keyboard Usage on MS-DOS
Mouse Usage on MS-DOS
Display on MS-DOS
File Names on MS-DOS
Printing and MS-DOS
International Support on MS-DOS
Subprocesses on MS-DOS
Manifesto
Glossary
Acknowledgments
Key Index
Option Index
Command Index
Variable Index
Concept Index
Open sidebar
Dashboard
Option Index
@unnumbered Command-Line Options Index @printindex op