Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


My personal Emacs config.

It makes heavy use of use-package, downloading required packages from elpa and melpa. Even my own personal packages (which make no sense being contributed to public package archives) live in a package archive.

The current look of my config started life in early 2016 when I killed off my original ~/.emacs and started using what I think is a cleaner approach via ~/.emacs.d. About a year later I made a few more significant changes to make things work even better, with another big revamp to switch from using customize happening about 3 months later.

As with any good development setup, it's an ongoing process and will continue to evolve. While I obviously am highly unlikely to accept pull requests for this repo, feedback and ideas for how I might improve it are always welcome.

Notable bindings

What follows is a non-comprehensive collection of key-binding details.

General/misc keys

Binding Function
Meta+s Switch to *scratch*
F6 Switch to next buffer
Ctrl+F6 Process list
Meta+F6 Show iBuffer
F11 Show current Emacs uptime
F12 F11 Show Emacs uptimes
Ctrl+Meta+F11 Nuke buffers
F12 F12 List personal key bindings
F12 e Open eg
F12 h Open eshell
C+x y Browse the kill-ring
F12 r Open elisp REPL (ielm)
F12 s Toggle through camelCase, snake-case, etc.
F12 w Open eww (web browser)
F12 o a Org agenda view
F12 o t Org todo view
F12 q requote
F8 neotree
F12 i e Add an end-of-file marker
F12 ? w woman
F12 ? d Lookup dictionary definition of word
F12 ` pinboard
F12 i d Add a note to dnote

Finding things

Binding Function
F12 f g Find files with ripgrep
F12 f l Find files with locate
F12 f r Open a recent file
F12 f Meta+x Find a recently-used command
F12 f c w Find a web colour
F12 f c e Find an Emacs colour

Moving around

Binding Function
Super+s Forward search symbol at point
Home Context-aware "home"
End Context-aware "end"
Super+Left Context-aware "home"
Super+Right Context-aware "end"
Meta+Left Backward sexp
Meta+Right Forward sexp
Super+Up Backward page
Super+Down Forward page


Binding Function
F12 p l List packages
F12 p r Refresh package lists
F12 p t Lint the current buffer as a package
F12 p u Upload current buffer as a package, to delpa


Binding Function
F12 g s Repo status
F12 g l a View log for whole repo
F12 g l f View log for current file
F12 g i View issues (via Forge)


Binding Function
F12 b i boxquote-insert-file
F12 b Meta+w boxquote-kill-ring-save
F12 b y boxquote-yank
F12 b b boxquote-region
F12 b t boxquote-title
F12 b h f boxquote-describe-function
F12 b h v boxquote-describe-variable
F12 b h k boxquote-describe-key
F12 b h w boxquote-where-is
F12 b ! boxquote-shell-command


Binding Function
F12 / / Search cheat-sh, using region if there is one
F12 / l List sheets for a given item
F12 / ? Show cheat-sh help
F12 / s Search cheat-sh
F12 / t Search a specific topic on cheat-sh


Binding Function
F12 i a Insert an autoload cookie for current defun
F12 i f Insert a filename
F12 i m Insert a melpa badge for a package
F12 i s Insert Emacs sexp link quotes around current symbol
F12 i y Insert markdown code for a YouTube video preview
F12 i ; Insert my own style of "break here" comment


Binding Function
Ctrl+c Right Open window to the right of the current window
Ctrl+c Left Open window to the left of the current window
Ctrl+c Up Open window above current window
Ctrl+c Down Open window below current window
Ctrl+c Ctrl+Right Open window to the right of the current window and prompt for a file
Ctrl+c Ctrl+Left Open window to the left of the current window and prompt for a file
Ctrl+c Ctrl+Up Open window above current window and prompt for a file
Ctrl+c Ctrl+Down Open window below current window and prompt for a file


It hardly seems worth having a licence on something that's intended for my own use. However, on the off chance that someone wants to derive from this:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

You can’t perform that action at this time.