X-Git-Url: https://code.delx.au/dotemacs/blobdiff_plain/e7697db18bb950ad564002940028f07b7f1805fe..7f61960e96b46fb3f513da6376ac4fe2961b21a9:/README.md diff --git a/README.md b/README.md index fbf053d..9affda8 100644 --- a/README.md +++ b/README.md @@ -1,294 +1,14 @@ -# 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) +# dotemacs -# General commands +Clone the dotemacs repository: ``` -C-x C-c Quit Emacs -C-u C-x C-c Save and quit -C-g Cancel command -C-/ Undo -C-g C-/ Undo undo -C-x z Repeat last command -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 +git clone https://delx.net.au/git/dotemacs ~/.emacs.d ``` -# 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 -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-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 -C-x 9 Resize windows with arrow keys -C-x { / C-x } Shrink/enlarge window horizontally -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) -C-x 5 2 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 -``` -Tab Indent current line correctly -C-x Tab Indent region with left/right -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 -``` - -# Marking -``` -C-Space Set mark (start selection) -C-Space C-Space Set mark to point -C-u C-space Return to mark -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-z Kill until -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 -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-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 +Initialise the emacs package submodules ``` -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 +cd ~/.emacs.d +git submodule init +git submodule update ```