I'm a vim guy. but sometimes I need to know about Emacs.
C-x C-c Exit Emacs C-g Abort command M-x foo Execute command foo (C-x prefixes many Emacs global and default commands. C-c prefixes user-defined or plug-in commands.) Help ---- C-h t Tutorial C-h i Manual C-h a Search help C-h c command Explain command, like C-h c C-x C-f C-h k key What command is mapped to key? C-h m Describe current major and minor modes of current buffer C-h e Show log of echo area Movement -------- C-n Line forward C-p Line back M-f Word forward M-b Word back C-f Character forward C-b Character back C-a Line start C-e Line end M-a First non-white char of line M-a Sentence start M-e Sentence end C-v Screen forward M-v Screen back C-l Align view with cursor centered (hit again and again for view aligned top, bottom) M-< Start of document M-> End of document C-M-f Forward to matching bracket C-M-b Backward to matching bracket "Notice the parallel between C-f and C-b on the one hand, and M-f and M-b on the other hand. Very often Meta characters are used for operations related to the units defined by language (words, sentences, paragraphs), while Control characters operate on basic units that are independent of what you are editing (characters, lines, etc)." Repetition ---------- M-number command M-6 C-f Forward six words Editing ------- C-x C-f Open file C-x C-s Save file/buffer C-x C-w Save As C-/ Undo C-_ Undo (*not* the same as C-- !) C-x u Undo C-SPACE Start visual selection C-d Kill char under cursor M-d Kill word forward M-BACKSPACE Kill word backwards C-k Kill to end of line C-y Insert most recent entry from kill ring C-nth C-y Insert nth entry in kill ring (like C-2 Cy for second entry) M-; Comment/uncomment code M-/ Auto-complete word C-M-\ Indent selection C-j New line (at cursor) and indent Kill cuts/deletes content and puts it in the kill ring. Yank gets content from the kill ring and inserts/pastes it. Marks, Kill, Yank ----------------- C-SPACE Add start mark C-w Kill marked C-y Yank/paste most recent kill ring entry M-w Save to kill ring, but don't delete C-y M-y Cycle kill ring Buffers ------- C-x right/left arrow Next/previous buffer C-x k Kill buffer C-x b Select buffer M-x load-file Evaluate Elisp file (to reload ~/.emacs, for example) Frames ------ C-x o Switch frame C-x 2 Split over-under C-x 3 Split side-by-side C-x 0 Close focused frame C-x 1 Close all frames except focused one
Each buffer has only one Major Mode, but can have multiple minor modes.
Slime is an add-on mode for Emacs development in Lisp.
To get started, add this to
(add-to-list 'load-path "/the/path/to/slime") (require 'slime) (add-hook 'lisp-mode-hook (lambda () (slime-mode t))) (add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))) ;; Optionally, specify the lisp program you are using. Default is "lisp" (etq inferior-lisp-program "sbcl")
Then, in Emacs, do
© Paul Gorman