This document lists what I consider to be the most useful but less well known commands of GNU Emacs. Commands which are more of use only to expert users are listed later. C-h t (Hold down the control key and hit the h key. Release all keys. Hit the t key.) This is the most important command for new users--it brings up the on-line self-paced tutorial. Everyone who has not yet seen the tutorial should do so. Many of the commands listed here are more thouroughly explained in the tutorial. C-h Control-h is the prefix key for the help subsystem. Typing C-h three times will give you a list of the commands in the help subsystem with a description of what each of them do. Some of the commands are described here, others you'll have to find for yourself. C-h m This command gives you help on the current major mode. For example. many users know that one can get a list of buffers with C-x C-b. Few of them know that the buffer with the list is useful for manipulating buffers. Typing C-h m in the buffer list shows those commands. C-_ undo. This command gets you out of many a mistake. Though it is advertised in the startup text as C-x u, it is easier to just type C-_. C-h a command-apropos. Type in a word and it lists all commands which have that word in their name along with the keybindings for and short description of each command. The answer to the question "how do I foo a bar" can usually be found by running command-apropos on both foo and bar. M-x apropos Similar to command-apropos, but finds variables non-user functions as well as commands. C-u 0 C-l For those of you who didn't pay particular attention to the tutorial (shame on you) this moves the current line to the top of the screen. C-x . set-fill-prefix. Takes the text between the beginning of the line and point and makes that the "fill-prefix". In auto-fill-mode, new lines will be started with this text. M-q (fill-paragraph) and the other filling commands will expect lines to start with this prefix and will start each resulting line with the prefix. For example, "> " is a good fill prefix when composing messages with quoted text. These paragraphs were composed with a fill prefix of one space. M-/ dabbrev-expand. It slices. It dices. It has to be seen to be believed. Type the beginning of a word and hit M-/. Emacs looks back in the buffer to find a word with the same beginning and fills it in. Hit M-/ again and it keeps looking back for a different word. M-. find-tag. Once things are set up, type M-. and the name of a function (defaults to the word around point) and it will put you at the definition of the function. Setting things up generally means running the command "etags *.c *.h" in the directory with the source. See the info node on "Tags" for more information