# Help
```
+C-h . Help at point (Eldoc)
C-h C-h Help
C-h k Help about key binding
C-h v Describe variable
# Search
```
-C-s Search forward (ivy/swiper mode)
-C-r Resume ivy search
-C-7 Start a cursor for each result (while searching)
-C-' Switch to avy jump mode
-M-i Insert selected item (while searching)
-M-q Replace searched item (while searching)
-M-p Search for previous item (while searching)
-M-n Search for symbol at point (while searching)
-C-M-A Read Ivy action
-C-c C-o Dump all results into a buffer (ivy-occur)
-C-c C-p Switch to wgrep mode
+C-s Search forward (consult-line)
+C-r Resume vertico search
M-. Find thing at point
M-, Pop tag mark
+M-? Find references at point
```
# Files/buffers
C-x s Save some buffers
C-x C-w Write buffer to file
C-x C-f Find file
-C-x C-v Find file and kill current buffer
-C-x f Find files in git repository
-C-x g Grep in git repository
-M-q Replace in git repository (while in git grep)
-M-x find-file-at-point Find (open) filename at point
-M-x browse-url-at-point Browse URL at point
+C-x f Find files in project
+C-x g Grep in project
C-x k Kill buffer
C-x c Clean up all buffers that are not visible
-C-x b Select named buffer
-C-x C-b Show all buffers
+C-x b Switch to previous buffer
+C-x t Switch between matching prod/test file
+C-x C-b Show buffers
C-x C-r Show recent files
M-x scratch-buffer Create new scratch buffer
-//,~ Go to {root,home} directory in find-file
```
# Windows/frames
M-m Jump back to start of indentation
M-r Jump to window top/bottom/middle
M-g Tab Jump to column
-M-g f Jump to charactor, ;/, to go forward/back
+M-g c Jump to character location
+M-g f Jump to character, ;/, to go forward/back
+M-g i Show imenu overview of file
M-g g Jump to visible line or any line
-M-g j Jump to word by first character
-M-g M-g Jump to visible line or any line
+M-g p Previous error
+M-g n Next error
+M-g l Show all errors
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
+C-f Forward one character
M-b Back a word
M-f Forward a word
M-a Backward sentence
Tab Indent current line correctly
C-x Tab Indent region with left/right
M-/ Expand at point
+C-M-i Complete at point
M-Tab Auto-complete at point
M-; Comment line or region
M-i Change inner region
C-x C-x Exchange point and mark
C-M-h Highlight expression
M-@ Set mark at end of next word
-C-= Expand region
-M-= Display info about region
-C-. Go to last edit
-C-, Go to last edit reverse
+M-= Expand region
```
-# Multiple cursors
-```
-C-c m a Insert cursor at all matching points
-C-c m l Insert extra cursor on all lines in region
-C-c m m Ask to insert extra cursor at locations matching selected region
-C-c m p Add cursor at previous text like region
-C-c m n Add cursor at next text like region
-```
# Highlighting
```
C-k Kill to end of line
M-0 C-k Kill to beginning of line
C-c k Kill whole line
-C-c s Copy line
+C-c s Replace 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
# Mode switching
```
-C-x C-j Open direx at current file
+F7 Toggle flymake-mode
F8 Toggle flyspell-mode
F9 Toggle whitespace mode
F10 Toggle word wrap
M-s o Search in buffer and display results in occur-mode
M-x multi-occur Search in buffers and display results in occur-mode
M-x eshell Run eshell
-M-x ielm Run Emacs Lisp REPL
-M-x linum-mode Display line numbers
M-x overwrite-mode Switch to overwrite mode
M-x shell Run bash shell
-M-x slime Run Common Lisp REPL
M-x smerge-ediff Resolve merge conflicts in multi-window mode
M-x smerge-mode Resolve merge conflicts by hunks
M-x term Run terminal
g Reload
e Switch to edit mode
C-c C-c Switch back to occur mode
-M-g M-p Previous occurence
-M-g M-n Next occurence
```
-# Magit / Git gutter
-```
-C-c g d Popup diff
-C-c g p Previous hunk
-C-c g n Next hunk
-C-c g r Revert hunk
-C-c g s Magit status
-C-c g f Magit file specific commands
-C-c g g Magit dispatch popup
+# Magit / diff-hl
+```
+C-x v * Popup diff
+C-x v S Stage hunk
+C-x v [ Previous hunk
+C-x v ] Next hunk
+C-x v n Revert hunk
+C-x v s Magit status
+C-x v f Magit file specific commands
+C-x v g Magit dispatch popup
p Previous section
n Next section
M-p Previous sibling section
C-c M-k Compile (but not load) the current buffer's file
```
-
-# Javascript
-```
-C-c C-r Rename variable
-C-c C-c Find type
-C-c C-d Find docs
-```
-
-
# Shell
```
M-! Execute command
# Flyspell
```
M-$ Correct word
-C-M-i Automatically correct word
C-; Automatically correct last word
<mouse-2> 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
-```