These are my emacs configuration files. The files are updated/tweaked regularly. I use emacs for all my academic work and the configuration tends in that direction. I’ve tried to provide enough commentary on the configuration so that it might be useful to those new to emacs or text-editors generally. One important thing to note is that the configuration uses vim keybindings as I used vim (or neovim) prior to emacs and I think modal bindings are best. If you like vim bindings but don’t tend to want to think about configuring emacs, I strongly recommend spacemacs or doom-emacs as a way of managing your configuration. For a more traditional emacs feel there are also the configurations of Purcell, Batsov (prelude), Zhang (Centaur Emacs), and many others. For a minimally sane setup you might also look at some sensible defaults. My configuration is also influenced by the bmacs configuration of Bryan Gilbert (see also his literate starter kit) and Karl Voit’s config. Some other good emacs starter kits to look at include John Kitchen’s scimax and Kieran Healy’s social sciences starter kit.
This config is based on a series of ”modules” loaded in the init.el file. Please see that file and the various config ”helper” functions for navigation. The modules are organized thematically rather than package by package (e.g. the writing module contains the config for spelling and markdown mode). Note that while I have an early-init file for use with emacs 27, the configuration is tested to work with emacs 25+ on MacOS, with the latest stable release being best.
Some highlights of this emacs setup include:
- Short start up time – when byte-compiled starts in roughly 1 sec (this may vary with your system)
- Comprehensive keybindings using general.el and spacebar as my leader key
- Evil mode
- Sensible defaults
- Dired with good colors and evil keybindings
- Completion with helm and ivy/counsel (ivy is emphasized over helm)
- Use of posframe for most completion windows
- Custom solarized theme (mac-centric with toggles for dark/light mode)
- An attractive modeline (based on Doom modeline)
- Extensive MacOS integration
- Single frame project workflow with eyebrowse, projectile, and perspectives
- A nice dashboard homescreen
- A writing-centric configuration with markdown, pandoc, zettel notes, and org-mode
For more information please take a look at the individual configuration files.