# References https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html # General commands C-x C-c Quit Emacs C-u C-x C-c Save and quit C-g Cancel command C-/ Undo C-g C-/ Undo undo C-x z Repeat last command M-x Execute command # Help C-h C-h Help C-h k Help about key binding C-h v Describe variable C-h f Describe function C-h m Documentation on active modes # Search C-s Search forward (ivy/swiper mode) C-r Resume ivy search M-s . Search for symbol around point C-s Find next item (while searching) Backspace Previous search (while searching) M-% Search and replace M-x linum-mode Display line numbers # Files/buffers C-x C-s Save current buffer C-x s Save some buffers C-x C-w Write buffer to file C-x C-f Find file C-x f Find file C-c f Find files in git repository C-c g Grep in git repository M-x find-file-at-point Find (open) filename at point M-x browse-url-at-point Browse URL at point C-x k Kill buffer C-x C-k Kill all buffers that are not visible C-x b Select named buffer C-x C-b Show all buffers C-x C-r Show recent files M-x scratch-buffer Create new scratch buffer # Windows/frames C-x o Switch to other window C-x 0 Delete window C-x 1 Switch to single window C-x 2 Split vertically C-x 3 Split horizontally C-x - Shrink window C-x + Make windows the same height C-x ^ Make window taller C-Up / C-Down / C-Left / C-Right Switch windows M-x make-frame New frame (X11 window) # Movement M-m Jump back to start of indentation M-r Jump to window top/bottom/middle M-g M-g Jump to line M-g Tab Jump to column M-g j Jump to character C-a Beginning of line C-e End of line C-p Back one line C-n Forward one line C-b Back one character C-n Forward one character M-b Back a word M-f Forward a word M-a Backward sentence M-e Forward sentence M-v Back page C-v Forward page M-{ Back one paragraph M-} Forward one paragraph M-< Top of file M-> End of file C-M-p Back to start of balanced expression C-M-n Forward to end of balanced expression C-M-b Back one s-expression / symbol C-M-f Forward one s-expression / symbol C-M-u Move up one level of parentheses # Text formatting M-/ Auto-complete M-; Comment line or region M-i Change inner region M-q Reformat paragraph M-l Lower case word M-u Upper case word M-c Capitalise word C-x C-l Lower case region C-x C-u Upper case region C-o Insert a new line above point M-o Insert a new line below point C-j Newline and maybe indent M-^ Join to previous line M-j New line with comment C-q Quoted insert # Marking C-Space Set mark (start selection) C-Space C-Space Set mark to point C-u C-space Return to mark C-x C-x Exchange point and mark C-M-h Highlight expression M-@ Set mark at end of next word C-= Expand region C-c l Insert extra cursor on all lines in region C-c m Ask to insert extra cursor at locations matching selected region M-= Display info about region # Killing and deleting C-M-k Kill s-expression / symbol C-w Kill from mark to point C-y Yank text (paste) M-y Scroll through kill ring (paste buffer) M-_ Select current line M-z Kill until C-k Kill to end of line M-0 C-k Kill to beginning of line C-S-Backspace Delete current line C-d Delete next character M-d Delete next word M-Backspace Delete previous word M-Space Collpase to one space around point M-\ Delete spaces around point C-x C-o Collapse blank lines M-x delete-trailing-whitespace Delete trailing whitespace # Transposing C-t Transpose chars M-t Transpose words C-x C-t Transpose lines C-M-t Transpose s-expressions # Rectangle C-x Space Toggle mark rectangle mode C-x r t Replace rectangle with string # Macros F3 , F4 Start recording macro, finish recording macro C-u F3 Play last macro then append keys F4 Play back macro # Lisp M-: Evaluate expression as elisp M-x eval-buffer Load current buffer as elisp M-x eval-region Load current region as elisp M-x ielm Run elisp REPL # Shell M-! Execute command M-& Execute command asynchronously M-| Execute with region C-u M-| Filter with region M-x shell Start a shell # Dired C-x C-j Open dired at current file # Flyspell F8 Toggle flyspell-mode M-$ Correct word C-M-i Automatically correct word C-; Automatically correct last word Popup word correction # Flycheck C-c ! v Verify setup C-c ! n Next error C-c ! p Previous error C-c ! l List errors C-c ! x Disable checker