]> code.delx.au - dotemacs/blobdiff - README.md
elisp-slime-nav
[dotemacs] / README.md
index c00cbf81f0a6204add4c77508f512d7803838197..75a238a8cbb7e2407f1d1a2eda1e189d89ab55c7 100644 (file)
--- a/README.md
+++ b/README.md
+# References
+* [Reference Card](https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf)
+* [Key Binding Conventions](https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Conventions.html)
+
 # General commands
+```
 C-x C-c                                         Quit Emacs
-C-x C-s                                         Save current buffer
+C-u C-x C-c                                     Save and quit
 C-g                                             Cancel command
-M-x                                             Execute command
 C-/                                             Undo
 C-g C-/                                         Undo undo
 C-x z                                           Repeat last command
-M-X 'eval-buffer                                Load current buffer as elisp
+M-x                                             Execute command
+M-:                                             Evaluate expression as elisp
+M-x eval-buffer                                 Load current buffer as elisp
+C-x C-0                                         Reset font to standard
+C-x C-+/=                                       Increase font size
+C-x C--                                         Decrease font size
+```
 
 # 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
+<prefix> C-h                                    Show bindings starting with <prefix>
+C-c C-b                                         Back to previous help topic (while in help-mode)
+q                                               Quit window and bury buffer
+```
 
 # Search
-C-M-s                                           Regex search
-C-s                                             Search forward
-C-r                                             Search backward
-M-s .                                           Search for symbol around point
-M-s w                                           Start word search
-C-s                                             Find next item (while searching)
-Backspace                                       Previous search (while searching)
-M-%                                             Search and replace
-
-# Buffers/windows/frames
+```
+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-q                                             Replace searched item (while searching)
+M-p                                             Search for previous item (while searching)
+M-n                                             Search for symbol at point (while searching)
+C-c C-o                                         Dump all results into a buffer (ivy-occur)
+M-.                                             Find thing at point
+M-,                                             Pop tag mark
+```
+
+# Files/buffers
+```
+C-x C-s                                         Save current buffer
 C-x s                                           Save some buffers
-C-x C-f                                         Find (open) file
+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-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                                           Clean up 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
-M-x 'make-frame                                 New frame (X11 window)
-M-=                                             Display info about region
+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
+C-l                                             Recenter display (center, top then bottom)
+C-M-l                                           Reposition window to contain useful text (eg entire defun)
+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 Tab                                         Jump to column
+M-g f                                           Jump to charactor on current line
+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
+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
+C-M-\                                           Indent region
+C-c c                                           Copy line
+C-c d                                           Duplicate line
+M-x comment-box                                 Wrap region in comment box
+```
 
-# Macros
-F3 , F4                                         Start recording macro
-C-u F3                                          Play last macro then append keys
-F4                                              Play back macro
-
-# Selecting/deleting/killing text
+# Marking
+```
 C-Space                                         Set mark (start selection)
 C-Space C-Space                                 Set mark to point
 C-u C-space                                     Return to mark
-C-M-p                                           Back to start of balanced expression
-C-M-n                                           Forward to end of balanced expression
+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
+```
+
+# Highlighting
+```
+M-s h u                                         Unhighlight regexp
+M-s h .                                         Highlight symbol at point
+M-s h p                                         Highlight phrase
+M-s h r                                         Highlight regexp
+M-s h l                                         Highlight lines matching regexp
+```
+
+# 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 <char>                                      Kill until <char>
-C-k                                             Kill rest of line
-C-M-k                                           Kill balanced expression
-C-S-Backspace                                   Delete current line
+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-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
-'#                                              delete-trailing-whitespace
+M-x delete-trailing-whitespace                  Delete trailing whitespace
+```
 
-# Lines
-C-o                                             Insert new line at point
-C-j                                             Newline and maybe indent
-M-^                                             Join to previous line
+# Transposing
+```
+C-t                                             Transpose chars
+M-t                                             Transpose words
+C-x C-t                                         Transpose lines
+C-M-t                                           Transpose s-expressions
+```
 
-# 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
-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
\ No newline at end of file
+# 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
+```
+
+# 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-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 restclient                                  Open HTTP client
+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
+M-x yas-reload-all                              Reload all snippets
+```
+
+# Occur
+```
+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
+p                                               Previous section
+n                                               Next section
+M-p                                             Previous sibling section
+M-n                                             Next sibling section
+^                                               Up section
+Tab                                             Toggle visibility of section
+C-Tab                                           Cycle visibility of section and its children
+q                                               Kill window and bury buffer
+C-c C-c                                         Perform action
+C-c C-k                                         Cancel action
+```
+
+# Lisp
+```
+C-M-x                                           Eval top-level form
+C-c C-z                                         Switch to REPL
+C-c C-c                                         Compile and load the top-level form at point
+C-c M-k                                         Compile (but not load) the current buffer's file
+```
+
+# Shell
+```
+M-!                                             Execute command
+M-&                                             Execute command asynchronously
+M-|                                             Execute with region
+C-u M-|                                         Filter with region
+```
+
+# Smerge mode
+```
+C-c ^ p                                         Go to previous hunk
+C-c ^ n                                         Go to next hunk
+C-c ^ Return                                    Keep current
+C-c ^ a                                         Keep all
+C-c ^ m                                         Keep mine
+C-c ^ o                                         Keep other
+```
+
+# 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
+```