Mastering Emacs

  1. Introduction
    1. Thank You
    2. 2022 Edition Update
      1. Emacs in the Future
    3. 2020 Edition Update
    4. Intended Audience
    5. What You’ll Learn
  2. The Way of Emacs
    1. Guiding Philosophy
      1. LISP?
      2. Extensibility
    2. Important Conventions
      1. The Buffer
      2. The Window and the Frame
      3. The Point and Mark
      4. Killing, Yanking and CUA
      5. .emacs.d, init.el, and .emacs
      6. Major Modes and Minor Modes
  3. First Steps
    1. Installing and Starting Emacs
      1. Starting Emacs
    2. The Emacs Interface
    3. Keys
      1. Caps Lock as Control
      2. M-x: Execute Extended Command
      3. M-S-x: Execute Extended Command for Buffer
      4. Universal Arguments
      5. Discovering and Remembering Keys
    4. Configuring Emacs
      1. The Customize Interface
      2. Evaluating Elisp Code
      3. The Package Manager
      4. Custom Color Themes
    5. Getting Help
      1. The Info Manual
      2. Apropos
      3. The Describe System
  4. The Theory of Movement
    1. The Basics
      1. C-x C-f: Find file
      2. C-x C-s: Save Buffer
      3. C-x C-c: Exit Emacs
      4. C-x b: Switch Buffer
      5. C-x k: Kill Buffer
      6. ESC ESC ESC: Keyboard Escape
      7. C-/: Undo
    2. Window Management
      1. Working with Other Windows
    3. Frame Management
    4. Tab Bars and Tab Lines
      1. Tab Bar Mode
      2. Tab Line Mode
    5. Elemental Movement
      1. Navigation Keys
      2. Moving by Character
      3. Moving by Line
      4. Moving by Word
      5. Moving by S-Expressions
      6. Other Movement Commands
      7. Scrolling
    6. Bookmarks and Registers
    7. Selections and Regions
      1. Selection Compatibility Modes
      2. Setting the Mark
    8. Searching and Indexing
      1. Isearch: Incremental Search
      2. Occur: Print and Edit lines matching an expression
      3. Imenu: Jump to definitions
      4. Helm: Incremental Completion and Selection
      5. IDO: Interactively DO Things
      6. Grep: Searching the file system
    9. Other Movement Commands
    10. Conclusion
  5. The Theory of Editing
    1. Killing and Yanking Text
      1. Killing versus Deleting
      2. Yanking Text
    2. Transposing Text
      1. C-t: Transpose Characters
      2. M-t: Transpose Words
      3. C-M-t: Transpose S-expressions
      4. Other Transpose Commands
    3. Filling and Commenting
      1. Filling
      2. Commenting
    4. Search and Replace
      1. Case Folding
      2. Regular Expressions
    5. Changing Case
    6. Counting Things
    7. Text Manipulation
      1. Editable Occur
      2. Deleting Duplicates
      3. Flushing and Keeping Lines
      4. Copying and Killing Matching Lines
      5. Joining and Splitting Lines
      6. Whitespace Commands
    8. Keyboard Macros
      1. Basic Commands
      2. Advanced Commands
    9. Text Expansion
      1. Abbrev
      2. DAbbrev and Hippie Expand
    10. Indenting Text and Code
      1. TAB: Indenting the Current Line
      2. Indenting Regions
    11. Sorting and Aligning
      1. Sorting
      2. Aligning
    12. Other Editing Commands
      1. Zapping Characters
      2. Spell Checking
      3. Quoted Insert
  6. The Practicals of Emacs
    1. Exploring Emacs
      1. Reading the Manual
      2. Using Apropos
      3. C-h: Exploring Prefix keys
      4. C-h k: Describe what a key does
      5. C-h m: Finding mode commands
      6. M-S-x: Execute Extended Command for Buffer
    2. Project Management
    3. Xref: Cross-References in Emacs
    4. Working with Log Files
      1. Browsing Other Files
    5. TRAMP: Remote File Editing
      1. The Default Directory and Remote Editing
      2. Multi-Hops and User Switching
    6. EWW: Emacs Web Wowser
    7. Dired: Files and Directories
      1. Navigation
      2. Marking and Unmarking
      3. Operations
      4. Working Across Directories
    8. Shell Commands
      1. Compiling in Emacs
    9. Shells in Emacs
      1. M-x shell: Shell Mode
      2. M-x ansi-term: Terminal Emulator
      3. M-x eshell: Emacs’s Shell
  7. Conclusion
    1. Other Resources
      1. Third-Party Packages and Tools
      2. Communities
  1. Cover