Skip to content

fmqa/emacs.d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Minimal discoverable emacs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published