# Buffers and basics C-g keyboard-quit ; press couple times to cancel most things emacs might be doing C-x C-c kill-emacs ;exit emacs C-x C-s save-buffer ;saves current file C-x C-b list-buffers ;opens buffers window C-x b switch-to-buffer ;if one knows the buffer by name M-x execute-extended-command ; exec func by name # Windows C-x o other-window ;to switch to other window C-x 1 delete-other-windows ;have one window (close others) C-x 3 split-window-right ;vertical split C-x 0 delete-window ;closes the current window http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/ # Movement C-n next-line C-p previous-line C-a move-begining-of-line C-e move-end-of-line C-v scroll-up-command M-v scroll-down-command M-f forward-word M-b backward-word C-f forward-char C-b backward-char C-M-f forward-sexp C-M-b backward-sexp M-< beginning-of-buffer ;also C-{home} M-> end-of-buffer ;also C-{end} M-g g goto-line M-. xref-find-definitions ; jump to def M-, xref-go-back ; jump back from the above M-? xref-find-references # Basic edit C-SPC set-mark-command ;allows to select text by moving afterwards M-w kill-ring-save ;pseudo copy command C-y yank ; pseudo paste C-w kill-region ; pseudo cut command C-o ;insert line above this one C-n C-o ;insert line below this one (really two commands but it does the trick) C-a C-k C-k ;Kill line (dd) # Help C-h f describe-function C-h k describe-key C-h b describe-bindings C-h v describe-variable C-h m describe-mode ;shows the content of the kill-ring variable C-h v kill-ring # Others ;move block of code C-c > shifts the region 4 spaces to the right C-c < shifts the region 4 spaces to the left ;the above may not always work move by 2 to right C-u 2 C-x Tab move by 8 to left C-u -8 C-x Tab ; may add/leave tabs/spaces tabify / untabify ;replace plain M-% string RET newstring RET ;replace regexp C-M-% regexp RET newstring RET C-x h mark-whole-buffer ;select all text ;run shell command on the selected text (shell-command-on-region) M-| ;if above prefixed with C-u it will replace the selected region ;Clojure/CIDER/Lisp things C-c M-j cider-jack-in-clj C-x C-e cider-eval-last-sexp C-c C-k cider-eval-buffer C-c C-q cider-quit ;recompile elisp (byte-recompile-directory "~/.emacs.d/elpa" 0 t) ;reload buffer from disk (revert-buffer)