Skip to content

Emacs Cheat SheetΒΆ

Key NotationΒΆ

C- = Ctrl
M- = Alt (or Esc)
C-x C-s = Ctrl+x, Ctrl+s

πŸ†˜ SURVIVALΒΆ

Keys Action
C-g CANCEL ANYTHING
C-x C-s Save
C-x C-f Open file
C-x C-c Quit Emacs
C-/ Undo

πŸ“ Files & BuffersΒΆ

Keys Action
C-x C-f Open file
C-x C-s Save
C-x C-w Save as
C-x b Switch buffer
C-x k Close buffer
C-x C-b List buffers
Keys Action
C-p / C-n Up / Down
C-b / C-f Left / Right
C-a / C-e Line start / end
M-< / M-> File start / end
M-g g Go to line
M-b / M-f Word back / forward

βœ‚οΈ EditingΒΆ

Keys Action
C-Space Start selection
C-w Cut
M-w Copy
C-y Paste
C-k Kill to end of line
C-x h Select all
M-d Delete word
Keys Action
C-s Search forward
C-r Search backward
M-% Search & replace
C-M-% Regex replace

πŸͺŸ WindowsΒΆ

Keys Action
C-x 2 Split horizontal
C-x 3 Split vertical
C-x 1 Close others
C-x 0 Close this
C-x o Other window
Shift+arrows Move between

πŸ“‚ ProjectΒΆ

Keys Action
C-c p p Switch project
C-c p f Find file
C-c p s g Grep project
C-c t File tree

πŸ”€ Git (Magit)ΒΆ

Keys Action
C-x g Open Magit
s / u Stage / Unstage
c c Commit
P p Push
F p Pull
b b Switch branch
l l Log
q Quit
Keys Action
C-c g t Time machine
C-c g b Toggle blame

πŸ”§ LSP (All Languages)ΒΆ

Keys Action
M-. Go to definition
M-, Go back
M-? Find references
C-h . Documentation

πŸ¦€ RustΒΆ

Keys Action
C-c r cargo run
C-c b cargo build
C-c c cargo check
C-c t cargo test
C-c l cargo clippy

🐍 Python¢

Keys Action
C-c r Run file
C-c t pytest

βš™οΈ C/C++ΒΆ

Keys Action
C-c b Build
C-c r Run

🌐 Web (TS/JS)¢

Keys Action
M-. Go to definition
Auto Prettier on save

🐘 PHP¢

Keys Action
C-c r Run file
C-c l Lint

🐚 Bash¢

Keys Action
C-c r Run script
C-c c Shellcheck

🐳 DevOps¢

Keys Action
C-c d Docker
C-c k Kubernetes

πŸ“ MarkdownΒΆ

Keys Action
C-c C-s b Bold
C-c C-s i Italic
C-c C-s c Code
C-c C-l Link
C-c C-n/p Next/prev heading
C-c C-d Toggle checkbox
Tab Fold/unfold
C-c C-c l Preview

❓ HelpΒΆ

Keys Action
C-h k Key help
C-h f Function help
C-h m Mode help
M-x Run command

πŸ› οΈ TroubleshootingΒΆ

# Config not loading?
mv ~/.emacs ~/.emacs.backup

# Refresh packages
M-x package-refresh-contents

# Reload config
M-x eval-buffer

# Restart LSP
M-x eglot-shutdown
M-x eglot

# Install icons
M-x all-the-icons-install-fonts

Quick Reference BoxΒΆ

╔═════════════════════════════════════════════════════════════╗
β•‘  SURVIVAL    β”‚  EDIT         β”‚  WINDOWS     β”‚  GIT          β•‘
β•‘  C-g Cancel  β”‚  C-w Cut      β”‚  C-x 2 Horiz β”‚  C-x g Magit  β•‘
β•‘  C-x C-s Saveβ”‚  M-w Copy     β”‚  C-x 3 Vert  β”‚  s Stage      β•‘
β•‘  C-x C-f Openβ”‚  C-y Paste    β”‚  C-x 1 Close β”‚  c c Commit   β•‘
β•‘  C-x C-c Quitβ”‚  C-/ Undo     β”‚  C-x o Other β”‚  P p Push     β•‘
╠═════════════════════════════════════════════════════════════╣
β•‘  LSP         β”‚  RUST         β”‚  SEARCH      β”‚  NAV          β•‘
β•‘  M-. Def     β”‚  C-c r Run    β”‚  C-s Find    β”‚  C-p Up       β•‘
β•‘  M-, Back    β”‚  C-c b Build  β”‚  C-r Back    β”‚  C-n Down     β•‘
β•‘  M-? Refs    β”‚  C-c t Test   β”‚  M-% Replace β”‚  M-g g Line   β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•