X-Git-Url: https://code.delx.au/dotemacs/blobdiff_plain/6d652b9dee7924a09306ce59a016367d0877020d..d8086c25f927c30bcaae0945a019510c1f999450:/README.md diff --git a/README.md b/README.md index c00cbf8..09fcadb 100644 --- a/README.md +++ b/README.md @@ -1,102 +1,292 @@ +# 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 + 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-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) +``` + +# 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 Kill until -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 + 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 +```