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 k Kill buffer
C-x C-b Show all 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 on current line
+M-g f Jump to charactor, ;/, to go forward/back
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
```
Tab Indent current line correctly
C-x Tab Indent region with left/right
-M-/ Auto-complete
+M-/ Expand at point
+M-Tab Auto-complete at point
M-; Comment line or region
M-i Change inner region
M-q Reformat paragraph
```
C-Space Set mark (start selection)
C-Space C-Space Set mark to point
-C-u C-space Return to mark
+C-u C-space Pop mark
+C-x C-space Pop global mark
C-x C-x Exchange point and mark
C-M-h Highlight expression
M-@ Set mark at end of next word
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
+C-. Go to last edit
+C-, Go to last edit reverse
```
# Highlighting
# Mode switching
```
C-x C-j Open direx at current file
-C-c g s Magit status
F8 Toggle flyspell-mode
F9 Toggle whitespace mode
F10 Toggle word wrap
M-x eshell Run eshell
M-x ielm Run Emacs Lisp REPL
M-x linum-mode Display line numbers
-M-x restclient Open HTTP client
+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
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