Vanilla, discoverable Emacs configuration
This is my Emacs configuration. It's simple, declarative, and discoverable. It requires Emacs 29+.
- Configure declaratively: Prefer
use-package
andeasy-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-printedeglot
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
- 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 (⌘).
desktop-save-mode
for simple session persistenceundo-redo
for traditional undo behavior (requires Emacs 28+)whitespace-mode
to visualize trailing whitespace & tab indentationsvertical-fido-mode
for improved completion & discoverabilityrecentf-mode
to reopen past edits
The following key bindings are registered by this configuration. These can be also shown inside Emacs using M-x describe-personal-keybindings
:
C-x ≣
orC-x <menu>
is used a prefix key for recentfC-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 viaduplicate-dwim
C-x C-/
completes viahippie-expand
C-x w
is set to the windmove prefixC-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 additionalwindmove.el
keybindingsC-x w C-/
C-x w C-_
andC-x w C-_
are bound towinner-undo
C-x w C-?
andC-x w C-?
are bound towinner-redo