| Posts | Snippets | Repository | About |  rss

Emacs Efficiency

Discover Emacs   cheatsheet keybindings emacs

This is straight away from VernonGrant who hosts a podcast for Emacs called “Discovering-Emacs”. It’s a great and has very much professional vibes, the explanations are Crisp and Clear! I suggest you to check out, he even has made YouTube channel for it.

I have removed some of the common bindings from this table, I have retained some unique one’s which isn’t discovered generally. I guess that is why the name is made (lol)

I just wanted to have a cheatsheet for it, so I decided to leave it as a post here.

You can checkout the source here ⟾ https://github.com/VernonGrant/emacs-keyboard-shortcuts

General Shortcuts

Shortcut Command Invoked Description
C-x Esc Esc repeat-complex-command Edit and re-evaluate last complex command.
C-h f describe-function Help information for a function.
C-h x describe-command Help information for a command (a function available using M-x).
C-h l view-lossage Show log for key presses and commands.
M-- negative-argument Prefix to perform negative meta commands.
C-- negative-argument Prefix to perform negative commands.
M-l downcase-word Lowercase word forward.
M-c capitalize-word Capitalize word forward.
M-u upcase-word Uppercase word forward.
C-<space> C-<space> set-mark-command Add mark to mark ring.
C-u C-<space> set-mark-command Jump to previous mark.
M-q fill-paragraph Wrap/reformat to fill column.
M-^ delete-indentation Join previous line.
M-- M-^ delete-indentation Join following line.
M-{ backward-paragraph Previous paragraph.
M-} forward-paragraph Next paragraph.
C-x C-v find-alternate-file Find alternative file.
C-x i insert-file Insert file contents into the current file.
C-x h mark-whole-buffer Highlight entire buffer.
C-M-\ indent-region Re-indent code region in region or from previous mark point.
C-x C-x exchange-point-and-mark Put the mark where point is now, and point where the mark is now.
C-x C-j dired-jump Open Dired jump.
C-x SPC rectangle-mark-mode Rectangle edit mode, can use string-insert-rectangle.
C-x + balance-windows Resize all splits to equal sizes.
C-x 5 2 make-frame-command Open in new frame.
C-x r SPC point-to-register Point-to-register.
C-x r j jump-to-register Jump-to-register.
M-s o occur List lines using regex.
M-s h r highlight-regexp Highlights regex expression (useful for presentations).
M-r move-to-window-line-top-bottom Move cursor to top, middle and bottom.
C-l recenter-top-bottom Move text in relation to the cursor, to top, middle and bottom.
M-! shell-command Run a shell command.
M-& async-shell-command Async shell command.
C-u 0 universal-argument Infinite count prefix.
C-u {count} universal-argument Repeat operation x amount of times.
C-x z repeat Repeat command.
C-x backspace backward-kill-sentence Clear mini-buffer.
M-g M-g goto-line Go to line.
C-x 1 delete-other-windows Kill other windows.
M-z (char) zap-to-char Zap up to char.
C-x * g calc-dispatch Eval in new buffer.
C-u M-x universal-argument Run command with additional options.

Macros

Shortcut Command Invoked Description
C-x ( kmacro-start-macro Define keyboard macro.
C-x ) kmacro-end-macro End keyboard macro definition.
C-x e kmacro-end-and-call-macro Playback keyboard macro, can just keep pressing e after first press.
C-x C-k <space> kmacro-step-edit-macro Open keyboard macro debugger.
C-x C-k e edit-kbd-macro Enter macro editor, (C-c C-c) to finish editing.
C-x C-k n kmacro-name-last-macro Save the keyboard macro for later use.
  insert-kbd-macro Insert a saved macro into the file, in Emacs lisp.

Project

Shortcut Command Invoked Description
C-x p ! project-shell-command Run shell-command in the current project’s root directory.
C-x p & project-async-shell-command Run async-shell-command in the current project’s root directory.
C-x p f project-find-file Visit a file (with completion) in the current project.
C-x p F project-or-external-find-file Visit a file (with completion) in the current project or external roots.
C-x p b project-switch-to-buffer Display buffer in the selected window, for a buffer belonging to the current project.
C-x p s project-shell Start an inferior shell in the current project’s root directory.
C-x p d project-find-dir Start Dired in a directory inside the current project.
C-x p D project-dired Start Dired in the current project’s root.
C-x p v project-vc-dir Run VC-Dir in the current project’s root.
C-x p c project-compile Run compile in the project root.
C-x p e project-eshell Start Eshell in the current project’s root directory.
C-x p k project-kill-buffers Kill the buffers belonging to the current project.
C-x p p project-switch-project Switch to another project by running an Emacs command.
C-x p g project-find-regexp Find all matches for REGEXP in the current project’s roots.
C-x p G project-or-external-find-regexp Find all matches for REGEXP in the project roots or external roots.
C-x p r project-query-replace-regexp Query-replace REGEXP in all the files of the project.
C-x p x project-execute-extended-command Execute an extended command in project root.

Balanced Expressions

Shortcut Command Invoked Description
C-M-f forward-sexp Forward over an sexps.
C-M-b backward-sexp Backward over a sexps.
C-M-d down-list Move down into a sexps.
C-M-u backward-up-list Move up out of a sexps.
C-M-n forward-list Move forward to the sexps.
C-M-p backward-list Move backward to the previous sexps.
C-M-k kill-sexp Kill down into sexps.
M-( insert-parentheses Wraps region in parenthesis.

Query Replace

Shortcut Command Invoked Description
M-% query-replace Start a query replace operation.
!   Replace all remaining matches in this buffer with no more questions.
^   Move point back to previous match.
u   Undo previous replacement.
U   undo all replacements.
E   Edit the replacement string.

Xref

Shortcut Command Invoked Description
M-. xref-find-definitions Find definitions at point.
M-, xref-go-back Pop marker and return.
M-? xref-find-references Find references matching a pattern.
C-M-. xref-find-apropos Find symbols matching a pattern.

Bookmarks

Shortcut Command Invoked Description
C-x r m bookmark-set Create / set bookmark.
C-x r b bookmark-jump Open bookmark.
C-x r l bookmark-bmenu-list List bookmarks.

Dired Buffer

Shortcut Command Invoked Description
C-o dired-display-file Preview file but stay in Dired buffer.
C-u k dired-do-kill-lines Remove section.
X dired-do-shell-command Execute shell command on file.
Q dired-do-find-regexp-and-replace Query replace marked files, <space> accept, n decline and C-x s to save all.
+ dired-create-directory Create directory.
^ dired-up-directory Go up one directory.
  find-name-dired Recursively find a file.

Interface To Spell (Ispell) and On The Fly Spell (Flyspell)

Shortcut Command Invoked Description
M $ ispell-word Check and correct spelling of the word at point.
C-M i completion-at-point Complete the word before point based on the spelling dictionary.
M-TAB flyspell-auto-correct-word Automatically corrects the current word at point, will also cycle between option.
C-c $ flyspell-correct-word-before-point Correct word before point.

Org Buffer

Shortcut Command Invoked Description
S-M-RET org-insert-todo-heading Insert a new TODO entry below the current one.
C-c / t org-match-sparse-tree View todo items in a sparse tree.
C-c C-t org-todo Toggle todo item state.
C-c C-s org-schedule Schedule todo item.
C-c C-d org-deadline Add deadline to todo item.
C-c [ org-agenda-file-to-front Add file to agenda.
C-c ] org-remove-file Remove file to agenda.
C-c . org-timestamp Insert current date.
C-c C-e org-export-dispatch Open exporter.
C-c C-e # org-export-dispatch Insert template.
C-c C-e P x org-export-dispatch Export specific project.

EWW

Shortcut Command Invoked Description
B eww-list-bookmarks Display your bookmarks.
b eww-add-bookmark Add the current page as a bookmark.
l eww-back-url Go to the previously displayed page.
r eww-forward-url Go to the next displayed page.
g eww-reload Reload the current page.
G eww Go to a new address.
H eww-list-histories Shows a list of your histories.
TAB shr-next-link Skip to the next link.

Useful Commands

Command Description
keep-lines Delete all lines not matching the provided regex.
flush-lines Delete all lines matching the provided regex.
sort-lines Sort lines in region alphabetically.
delete-duplicate-lines Delete all but one copy of any identical lines in the region.
ff-find-other-file Find the header or source file corresponding to this file.



- - - - - - -  - - - - - - -  - - - - - - -  - - - - - - -

 2023 - 2024 Dilip  Made with 󰣐 using Org-mode & Emacs
The code for this site is licensed under the GPLv3, and the content is licensed under CC-BY-SA 4.0