Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vernongrant/emacs-keyboard-shortcuts
A list of Emacs keyboard shortcuts that I use on a regular basis.
https://github.com/vernongrant/emacs-keyboard-shortcuts
documentation emacs emacs-customizations emacs-lisp keyboard-shortcuts
Last synced: about 2 months ago
JSON representation
A list of Emacs keyboard shortcuts that I use on a regular basis.
- Host: GitHub
- URL: https://github.com/vernongrant/emacs-keyboard-shortcuts
- Owner: VernonGrant
- License: mit
- Created: 2022-09-02T09:16:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-29T06:17:48.000Z (about 1 year ago)
- Last Synced: 2024-11-30T19:58:59.565Z (2 months ago)
- Topics: documentation, emacs, emacs-customizations, emacs-lisp, keyboard-shortcuts
- Language: Makefile
- Homepage:
- Size: 159 KB
- Stars: 92
- Watchers: 6
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Emacs Keyboard Shortcuts
A list of Emacs keyboard shortcuts that I use on a regular basis.
## General Shortcuts
| Shortcut | Command Invoked | Description |
|-----------------------|----------------------------------|--------------------------------------------------------------------|
| `C-x Esc Esc` | `repeat-complex-command` | Edit and re-evaluate last complex command. |
| `C-h m` | `describe-mode` | Help information for the current buffers modes. |
| `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. |
| `C-k` | `kill-line` | Kill rest of line, or line if empty. |
| `C-/` | `undo` | Undo. |
| `C-g C-/` | `undo-redo` | Redo. |
| `C-y` | `yank` | Yank from kill ring. |
| `M-y` | `yank-pop` | Yank down the kill ring. |
| `C-y M-y` | `yank-pop` | Cycle through kills after a yank. |
| `M-/` | `dabbrev-expand` | Dabbrev (word) expand. |
| `M-C-/` | `dabbrev-completion` | Dabbrev (word) completion. |
| `C-x s` | `save-some-buffers` | Save all buffers. |
| `C-x C-s` | `save-buffer` | Save current buffer. |
| `C-x C-w` | `write-file` | Write the current buffer, can provide new file name. |
| `C-o` | `open-line` | Add blank line below. |
| `C-x C-o` | `delete-blank-lines` | Delete all blank lines below. |
| `C-x C-c` | `save-buffers-kill-terminal` | Quit Emacs. |
| `C-x ` | `previous-buffer` | Switch to the previous buffer. |
| `C-x ` | `next-buffer` | Switch to the next buffer. |
| `M--` | `negative-argument` | Prefix to perform negative meta commands. |
| `C--` | `negative-argument` | Prefix to perform negative commands. |
| `C-a` | `move-beginning-of-line` | Move cursor to the beginning of the line. |
| `C-e` | `move-end-of-line` | Move cursor to the end of the line. |
| `M-a` | `backward-sentence` | Move cursor to the beginning of the sentence. |
| `M-e` | `forward-sentence` | Move cursor to the end of the sentence. |
| `M-m` | `back-to-indentation` | Move cursor to the first non-whitepsace character on the line. |
| `M-k` | `kill-sentence` | Kill rest the rest of theing of the line. |
| `M-l` | `downcase-word` | Lowercase word forward. |
| `M-c` | `capitalize-word` | Capitalize word forward. |
| `M-u` | `upcase-word` | Uppercase word forward. |
| `C- C-` | `set-mark-command` | Add mark to mark ring. |
| `C-u C-` | `set-mark-command` | Jump to previous mark. |
| `C-x f` | `set-fill-column` | Set fill column number. |
| `M-q` | `fill-paragraph` | Wrap/reformat to fill column. |
| `M-v` | `scroll-down-command` | Page up. |
| `C-v` | `scroll-up-command` | Page down. |
| `M-^` | `delete-indentation` | Join previous line. |
| `M-- M-^` | `delete-indentation` | Join following line. |
| `M-<` | `beginning-of-buffer` | Go to start of file. |
| `M->` | `end-of-buffer` | Go to end of file. |
| `M-{` | `backward-paragraph` | Previous paragraph. |
| `M-}` | `forward-paragraph` | Next paragraph. |
| `C-x C-f` | `find-file` | Find file. |
| `C-x C-v` | `find-alternate-file` | Find alternative file. |
| `C-x k` | `kill-buffer` | Kill current or named buffer. |
| `C-x o` | `other-window` | Go to next window, split. |
| `C-x O` | `other-window` | Go back to previous window, split. |
| `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. |
| `g` | `revert-buffer` | Refresh page, workes on many UI pages. |
| `M-s o` | `occur` | List lines using regex. |
| `M-s h r` | `highlight-regexp` | Highlights regex expression. |
| `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. |
| `C-k C-k C-y C-y` | | Duplicate line. (Place cursor at start) |
| `M-g M-g` | `goto-line` | Go to line. |
| `C-x b` | `switch-to-buffer` | Quick switch buffer. |
| `C-x 1` | `delete-other-windows` | Kill other windows. |
| `M-z (char)` | `zap-to-char` | Zap up to char. |
| `C-M-\` | `indent-region` | Re-indent region. |
| `C-x * g` | `calc-dispatch` | Eval in new buffer. |
| `M-` | `just-one-space` | Removes extra whitespace between two words. |
| `C-u M-x` | `universal-argument` | Run command with additional options. |
| `C-x TAB` | `indent-rigidly` | Allows you to manually indent a region inwards or outwards. |
| `C-x x t` | `toggle-truncate-lines` | Turn on or off line truncation. |
| | `locate` | Find a files matching a pattern across the entire system. |
| | `recentf` | Shows a list of recent files, if `recentf` mode is enabled. |## Highlighting
| Shortcut | Command Invoked | Description |
|-----------|-----------------------------------|-------------------------------------------------------------|
| `M-s h .` | `highlight-symbol-at-point` | Highlight each instance of the symbol at point. |
| `M-s h l` | `highlight-lines-matching-regexp` | Highlight all lines that match REGEXP using FACE. |
| `M-s h p` | `highlight-phrase` | Set face of each match of phrase REGEXP to FACE. |
| `M-s h r` | `highlight-regexp` | Set face of each match of REGEXP to FACE. |
| `M-s h u` | `unhighlight-regexp` | Remove highlighting of each match to REGEXP set by hi-lock. |## 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 ` | `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. |## Incremental Search
| Shortcut | Command Invoked | Description |
|-----------|-----------------------------|--------------------------------------------------------------------------------|
| `C-M-s` | `isearch-forward-regexp` | Regex search. |
| `C-s` | `isearch-forward` | Incremental search. |
| `C-s C-s` | `isearch-repeat-forward` | Repeat incremental search. |
| `C-s C-w` | `isearch-yank-word-or-char` | Enter incremental search and start expanding the selection. |
| `C-r` | `isearch-backward` | Incremental search backward. |
| `C-r C-r` | `isearch-repeat-backward` | Repeat incremental search backward. |
| `C-s C-y` | `isearch-yank-kill` | Start incremental search using yanked text. |
| `C-s M-y` | `isearch-yank-pop-only` | Start incremental search from kill ring string. |
| `C-r` | `recursive-edit` | During query replace, enter recursive edit mode. |
| `C-M-c` | `exit-recursive-edit` | During query replace, exit recursive edit mode and continue query replacement. |
| `C-]` | `abort-recursive-edit` | During query replace, exit recursive edit mode and query replace modes. |
| `M-s o` | `isearch-occur` | Show all lines matching the search term in occur. |
| `M-s e` | `isearch-edit-string` | To edit the search string in the minibuffer. |
| `M-s h r` | `isearch-highlight-regexp` | Highlights the last search string. |## 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. |## Tags
| Shortcut | Command Invoked | Description |
|-----------|--------------------------------------|-------------------------|
| `M-.` | `xref-find-definitions` | Jump to tag. |
| `M-,` | `xref-go-back` | Jump back. |
| `C-x 4 .` | `xref-find-definitions-other-window` | Visit tag in new split. |
| `C-x 5 .` | `xref-find-definitions-other-frame` | Visit tag in new frame. |## 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. |## Abbrev
| Shortcut | Command Invoked | Description |
|-----------|---------------------|--------------------|
| `C-x a g` | `add-global-abbrev` | Add global abbrev. |
| `C-x a l` | `add-mode-abbrev` | Add local abbrev. |
| `C-q` | | Mute abbrev. |## Ivy Buffer
| Shortcut | Command Invoked | Description |
|-------------|------------------------------|--------------------------------|
| `S-` | `ivy-restrict-to-matches` | Narrow search to current term. |
| `C-M-p` | `ivy-previous-line-and-call` | Preview up. |
| `C-M-n` | `ivy-next-line-and-call` | Preview down. |
| `M-o` | `ivy-dispatching-done` | Open item options. |## Occur Buffer
| Shortcut | Command Invoked | Description |
|-----------|------------------------------|---------------------------------------|
| `e` | `occur-edit-mode` | Directly edit the entry in place. |
| `C-c C-c` | `occur-mode-goto-occurrence` | Return back to occur mode after edit. |## 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, `` 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. |## IBuffer
| Shortcut | Command Invoked | Description |
|----------|-------------------------------|----------------------------------------------|
| `/ /` | `ibuffer-filter-disable` | Remove all filtering currently in effect. |
| `/ m` | `ibuffer-filter-by-used-mode` | Add a filter by a major mode now in use. |
| `/ n` | `ibuffer-filter-by-name` | Add a filter by buffer name. |
| `/ f` | `ibuffer-filter-by-filename` | Add a filter by filename. |
| `Q` | `ibuffer-do-query-replace` | Query replace in each of the marked buffers. |## Grep Buffer
| Shortcut | Command Invoked | Description |
|-----------|----------------------------|---------------|
| `C-c C-K` | `command kill-compilation` | Kill process. |## Compile Buffer
| Shortcut | Command Invoked | Description |
|----------|-----------------|-------------------------------------------|
| `?` | `describe-mode` | Describe-mode. |
| `g` | `recompile` | Recompile. |
| `h` | `describe-mode` | Describe-mode. |
| `q` | `quit-window` | Quit-window. |
| | `compile` | Run one of the targets in your make file. |## Interactively Do Things (Ido) Buffer
| Shortcut | Command Invoked | Description |
|-------------------|---------------------------------|-------------------------------------------------------------------------------|
| `M-f` | `ido-wide-find-file-or-pop-dir` | Find file recursively. Search into sub directory. |
| `?` | `ido-completion-help` | See a full list of all matching buffers. |
| `C-j` | `ido-select-text` | Choose selected file/folder/text from minibuffer. e,g. Open folder in Dired . |
| `C-x C-f ... C-d` | `dired` | Enter `dired` on the current directory. |
| `C-x C-f ... C-f` | `find-file` | Fallback to non-Ido, while finding a files. |
| `C-x C-b ... C-b` | `ido-switch-buffer` | Fallback to non-Ido, while finding a buffer. |## 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. |
| | `flyspell-mode` | Enable Fly-spell mode, which highlights all misspelled words. |
| | `flyspell-prog-mode` | Enable Fly-spell mode for comments and strings only. |
| | `flyspell-buffer` | Check and correct spelling in the buffer. |## 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. |