Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 2.21 KB

README.md

File metadata and controls

48 lines (34 loc) · 2.21 KB

emacs.d

Screenshot

Vanilla, discoverable Emacs configuration

This is my Emacs configuration. It's simple, (mostly) declarative, and discoverable. It requires Emacs 29+.

Principles

  • Configure declaratively: Prefer use-package and easy-customize over other configuration methods
  • Keep it simple: Apply KISS; The init.el should be simple enough to be read by a novice
  • Keep the overhead low: Install only the neccessary 3rd-party packages
    • markdown-mode is installed for pretty-printed eglot documentation, and for markdown formatting.
  • Use the included batteries: The standard Emacs packages are tested & curated by the Emacs community, use them!
  • Retain the defaults as much as possible: We try to keep the default keybinds as much as possible and avoid rebinding everything

Requirements

  • Emacs 29+
  • A keyboard with a menu key (≣) (also sometimes called "application key"). C-≣ is used as a prefix key since it is usually not bound to anything. On a Mac keyboard, this config should be edited and the key reassigned to another key e.g. Command (⌘).

Features

Links denote external packages

  • desktop-save-mode for simple session persistence
  • undo-redo for traditional undo behavior (requires Emacs 28+)
  • whitespace-mode to visualize trailing whitespace & tab indentations
  • vertical-fido-mode for improved completion & discoverability
  • recentf-mode to reopen past edits

Custom keybinds

The following key bindings are registered by this configuration:

  • C-x ≣ or C-x <menu> is used a prefix key for recentf
    • C-x <menu> o Open recentf menu (recentf-open-files)
    • C-x <menu> e Edit recentf list (recentf-edit-list)
    • C-x <menu> c Cleanup recentf list (recentf-cleanup)
  • C-x j duplicates a line via duplicate-dwim
  • C-x C-/ completes via hippie-expand
  • C-x w is set to the windmove prefix
    • C-x w <up> C-x w <down> C-x w <left> C-x w <right> moves to the next window in the specified direction
  • C-x w also contains additional windmove.el keybindings
    • C-x w C-/ C-x w C-_ and C-x w C-_ are bound to winner-undo
    • C-x w C-? and C-x w C-? are bound to winner-redo