X-Git-Url: https://code.delx.au/dotemacs/blobdiff_plain/a57fdea1c1dafeab9b0b6f6d1a3c0066bdd2b8ab..d8086c25f927c30bcaae0945a019510c1f999450:/README.md diff --git a/README.md b/README.md index b58dd8b..09fcadb 100644 --- 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 + C-h Show bindings starting with +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 Kill until 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 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 +```