Skip to content

Emacs Shortcuts for Evil and Doom Emacs

See Evil key bindings map - Evil Emacs package

Name Shortcut
Complete (autocomplete) next or previous (insert mode) C-n or C-p
Digraph: insert :evil-insert-digraph
Digraphs, show digraphs to sequences :evil-ex-show-digraphs
Enter and Exit Emacs Mode (close to default Emacs) C-z
Go to char using Avy g s s (char), g s / (timer)
Go, to lower case (evil-downcase), downcase selection g u , u
Go, to upper case (evil-upcase), upcase selection g U , U
Go, to file under cursor at point g f
Go, to file under cursor at point, with line g F, evil-find-file-at-point-with-line
Navigation, previous/next paragraph/section {, }
Navigation, previous/next sentence (, )
Record macro (command mode) q + <register like a>
Replace macro F4
Window move up, down, left, right C-w + arrow keys

See Vim Shortcuts - Vim Shortcuts which are mostly implemented in Evil and for explanation of terms.

For “Go, to file under cursor at point, with line”, an example is using gF on text like myfile.txt:42 where 42 is the line number to go to

See main key bindings at: “~/.config/emacs/modules/config/default/+evil-bindings.el” or Evil Bindings - Doom Emacs

and “~/.config/emacs/modules/config/default/+emacs-bindings.el” Emacs Bindings - Doom Emacs

Name Shortcut
Action, context aware 1 SPC a, embark-act, embark-dwim
Back, error [ e
Back, section [[
Bookmarks SPC Enter
Browse url of file, open in browser SPC o b
Buffer, delete buffer SPC b d
Buffer, open scratch buffer SPC x
Buffer, switch buffers, files, bookmarks, projects SPC < or consult-buffer or C-x b
Code actions, Jump to definition (like Vim gd) SPC c d or gd
Code actions, Jump to reference (like Vim gr) SPC c D
Code actions / LSP SPC c a
Code actions, quickfix, list errors, problems, flycheck SPC c x
Command, M-x SPC :
Completion, cape, dictionary C-x s
Completion, dabbrev C-x C-n
Completion, file C-x C-f
Completion, go down 1 choice C-j
Completion, go up 1 choice C-k
Completion, keyword C-x C-k
Completion, snippet C-x C-s
Cursor, multiple cursor, exit ESC
Cursor, multiple cursor match at g z m or evil-mc-make-all-cursors
Cursor, multiple cursor match at point or select evil-multiedit-match-all
Dired, down directory or open file l
Dired, edit with wdired i
Dired, edit with wdired, save changes :w or C-c
Dired, Move/rename file, respect VCS like git mv (move) R
Dired, open marked files with external program W, dired-do-open
Dired, up directory h
Documentation, Look up or Web search on selection K
eww, back URL H or [[
eww, bookmark m
eww, bookmark add m
eww, download d
eww, eww-readable, see readable part of web page r
eww, forward URL L or ]]
eww, go to bookmark gb
eww, go to bookmark, quit q
eww, jump to visible link SPC s l
eww, list eww buffers gt
eww, open URL o
eww, open URL, in other buffer C-Enter
eww, quit q
eww, URL, copy current URL yy
eww, Z menu: text decrease, increase zj, zk
Exit insert mode Esc or jk
Format, region or buffer +format/region or +format/buffer
Git Time Machine, mode SPC t g
Git Time Machine, mode, leader prefix g t
Git Time Machine, mode, show commit SPC t c
Git Time Machine, previous and next revision C-j, C-k
Go to, Avy : go to char2 g s s
Go to, Avy : go to timer g s /
Go to, element Declaration g D
Go to, element definition g d
Go to, element Implementation g I
Go to file or url at point g f
Go to, open file in separate buffer and split C-w f
Help: Doom, Doom Modules SPC h d m
Help on key bindings for current function/minibuffer C-h b b
Help, Search key map and run SPC ?
Insert, Search Evil Register SPC i r
Insert, Snippet SPC i s
Leader key while in insert mode M-SPC
LSP, Restart workspace and server lsp-workspace-restart
LSP, Update all servers installed lsp-update-servers
Magit SPC g g
Magit, Log, see commit log of file (like VS Code git history) SPC g L or magit-log-buffer-file
Next buffer C-x right arrow
Next, error ] e
Org: Insert subheading (org-insert-subheading) C-m Enter
Org: Link copy from clipboard and insert SPC m l c
Org: Link insert (org-insert-link) SPC m l l
Org: Link store (org-store-link) SPC n l
proced: sort leader key o
Project: Search SPC /
Project - switch and open new workspace SPC p p
Search - 2 char, next match or go into avy ; or C-;
Search - 2 char, normal mode s
Search - bookmark list SPC s m
Search - buffer SPC s s
Search - imenu SPC s i
Search - jump list SPC s j
Search - mark (Evil) list SPC s r
Search - minibuffer orderless fuzzy search with ~ ~lspform
Section or heading, previous or next double [ or ]]
Session, Load from file SPC q L or doom/load-session
Spelling, suggest correct spelling of word z =, ispell-word
Switch Buffer SPC ,
Tags: projectile find tag C-]
Terminal, Open in cwd full screen (vterm) terminal SPC o T
Terminal, Toggle pop up C-`
Terminal, Toggle (vterm) terminal popup (bottom screen) SPC o t
Toggle: line numbers: absolute, relative, none SPC t l or doom/toggle-line-numbers
Toggle: pop up like help, terminal C-`
Vertico, vertical mini buffer, section, next previous M-{ or M-}
Workspace (tab): Close SPC tab d
Workspace (tab): Close session, work spaces, buffers SPC tab x
Workspace (tab): List tabs SPC Tab Tab
Workspace (tab): New C-t
Workspace (tab): Next gt
Workspace (tab): Select workspace number M-<number> like M-1
Z menu for folding, screen movement z
Z menu: kill current buffer zx
Z menu: org-mode toggle inline images zi

For documentation look up K, good minibuffer items are language specific docs, devdocs.io, and web search.

For completions, shortcuts are implemented similarly to completion section of Vim Shortcuts and complete the same kind of items.

Item Navigation with [ and ] (Unimpaired Mode)

Section titled “Item Navigation with [ and ] (Unimpaired Mode)”
Description Shortcut
Next, previous item [ <item>] <item>
Buffer [b, ]b
Function [f, ]f
Spelling: misspelled word [s, ]s
Name Shortcut
GBrowse, Opens local file in browser in upstream like GitHub/Lab for local file :gbrowse
  1. Common actions are:

    • Jump to definition in code
    • Evaluate expressions
    • Mark org headings as done or other