Emacs is an extensible self-documenting editor. A lot of the knowledge the user can be supplied with comes from documentation strings, or “DocStrings” among the code. Emacs also provides hypertext documentation in InfoMode. You can also query many of Emacs’s primitives and values with AproposMode.

Ask Emacs itself about anything you see in it: a command, a key sequence, a menu item, or a term used in the documentation.

Here’s how you can use Emacs to teach you Emacs.

  1. The key sequence ‘C-h k’ provides help about a command.
  2. Use ‘C-h k’ to have Emacs tell you about the related help commands ‘C-h f’, ‘C-h v’, ‘C-h w’, ‘C-h m’, ‘C-h b’, ‘C-h a’, ‘C-h k’, and more. That is, type ‘C-h k’, then type a key sequence you want to learn about.
  3. Use ‘C-h f’, ‘C-h v’, ‘C-h a’, and so on to learn about everything Emacsian!

You can access nearly all Emacs help through ‘C-h C-h’ (command ‘help-for-help’).

Here are some hints:

If you can remember the key prefix of some command, typing C-h after the prefix shows you all commands with this prefix (unless the prefix and C-h together is bound to one of the commands).

For instance, if you can remember that C-x r is the prefix for various register commands, then typing C-x r C-h will give you the full list of all commands beginning with C-x r (which also happens to include some for managing rectangles).

For more information on obtaining help in Emacs, see EmacsNewbie.

Extending Self-Documentation

A few tricks for extending the self-documentation of new functions and tools are :

CategoryDocumentation CategoryHelp