The Emacs manual and the community in general uses a convention to refer to different key combinations used within Emacs. Specifically, Emacs has the notion of a "modifier key" that is pressed along with another key to modify its action. An example of this notation is "C-c". In this key combination "C" is the modifier and stands for the "Ctrl" key and "c" is the key whose action is being modified (the literal character "c"). The modifier shorthand: "C-" --> The "CTRL" key "M-" --> The "Meta" key (usually, the "Alt" key) "s-" --> The "Super" key (the "Cmd" key on Macs and the "Windows" key on PCs) There are other, less commonly used modifiers that I will not get into here. The key combination "C-x C-s" means you press "Ctrl+x" followed by "Ctrl+s" In addition to the above modifiers, the special keys "Esc", "Return (Enter)" and "Shift" are denoted by "ESC", "RET" and "S", respectively. The GUI version of Emacs can be navigated with the mouse like you would expect from a conventional GUI text editor. The aim here is to focus on navigation solely using the keyboard as this enhances productivity immensely. * Line movement C-n --> Next line C-p --> Previous line * Character movement C-f --> Go forward one character C-b --> Go backward one character * Word movement M-f --> Go forward one word M-b --> Go backward one word * Sentence movement M-a --> Move to the beginning of the sentence M-e --> Move to the end of the sentence * Beginning and end of line C-a --> Move to the beginning of the line C-e --> Move to the end of the line * Beginning and end of buffer M-< ("Meta+Shift+,") --> Go to the beginning of the buffer M-> ("Meta+Shift+.") --> Go to the end of the buffer * Screen movement C-v --> Scroll down by one screen-full (the last two lines of the previous screen are kept as overlap for a smoother transition) M-v --> Scroll up by one screen-full (same as above but with the first two lines) * Centering the screen C-l --> Move current line to the screen's center The above key combination actually cycles through different states depending on how many times it's been pressed. C-l --> Move current line to the screen's center C-l C-l --> Move current line to the top of the screen C-l C-l C-l --> Restore the position of the current line to where it was before the first C-l was pressed If you press "C-l" a 4th time, it cycles back to centering the current line. * Repeating movement commands Most movement commands take a numerical prefix argument that says "repeat the following command that many times". Example: C-u 3 C-p --> Go up 3 lines C-u 5 C-f --> Go forward 5 characters One notable exception are the screen scrolling commands: C-u 3 C-v --> Scroll downward 3 lines (maintaining the position of the cursor) * Quitting Emacs [ Now you can't say you don't know how to quit Emacs :-) ] C-x C-c --> Quit Emacs and get prompted to save any unsaved files (buffers not visiting a file will simply be discarded unless you're running in client-server mode) * Saving a buffer C-x C-s --> Save the current buffer. If not visiting a file, it will prompt you for a file name to use to save the buffer. * Searching within a buffer C-s --> Search forwards within the buffer. Search is incremental and case-insensitive by default. Press C-s to move to the next match. If you press "RET", point is moved to the currently highlighted word and the search ends. C-r --> Same as C-s except it searches backward C-_ or C-/ --> Undo the last action. Keep pressing it to move up the undo tree. C-? or M-_ --> Redo the previous change The "undo" and "redo" commands can take prefix numerical arguments to undo or redo that many actions: C-u 3 C-_ --> Undo the last 3 changes. You can execute any currently loaded Elisp functions (including ones you have written yourself) via "M-x" M-x RET --> Prompts you for name of function to execute (Tab completion is available). Example: M-x RET search-forward-regexp RET --> Prompts you for a regular expression and searches forward in the buffer for it Obtaining help on specific topics. Tab completion is available for function and variable names. C-h f RET --> Prompts you for the name of an elisp function and displays help text on it along with a clickable link to its source code. C-h v RET --> Same as above with variables C-h k RET --> Allows you to enter a key combination and displays the name of the elisp function bound to it. Searching for help: C-h a --> Prompts you for a string to search for a command in the help system. Similar to the 'apropos' or 'man -k' commands in Unix systems. Starting a tutorial: C-h C-t --> Starts a tutorial designed to familiarize you with basic Emacs functionality.