]> code.delx.au - dotemacs/blobdiff - README.md
avy jump key binding improvements
[dotemacs] / README.md
index b58dd8b6ffd68195fd9b6ec7b072559701f4b30d..09fcadb2edfc19d2c4a0564862b1658a22d953b0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,9 @@
 # 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
+* [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-u C-x C-c                                     Save and quit
 C-g                                             Cancel command
@@ -15,28 +16,39 @@ 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-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
+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)
+```
 
 # 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 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
@@ -47,8 +59,10 @@ 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
@@ -58,14 +72,20 @@ 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 M-g                                         Jump to line
 M-g Tab                                         Jump to column
-M-g j                                           Jump to character
+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
@@ -87,8 +107,10 @@ C-M-n                                           Forward to end of balanced expre
 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
@@ -99,13 +121,19 @@ 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
+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
+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
+```
 
 # Marking
+```
 C-Space                                         Set mark (start selection)
 C-Space C-Space                                 Set mark to point
 C-u C-space                                     Return to mark
@@ -116,8 +144,19 @@ 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)
@@ -126,8 +165,8 @@ M-_                                             Select current line
 M-z <char>                                      Kill until <char>
 C-k                                             Kill to end of line
 M-0 C-k                                         Kill to beginning of line
-C-a C-k C-k                                     Kill current line
-C-S-Backspace                                   Kill current 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
@@ -135,64 +174,119 @@ M-Space                                         Collpase to one space around poi
 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
+```
 
 # 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-mode                                 Resolve merge conflicts
-M-x restclient                                  Open HTTP client
+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
+```