As you edit Lisp code to be run in Emacs, the commands C-h f (describe-function ) and C-h v (describe-variable ) can be used to print documentation of functions and variables that you want to call. These commands use the minibuffer to read the name of a function or variable to document, and display the documentation in a window.
For extra convenience, these commands provide default arguments based on the code in the neighborhood of point. C-h f sets the default to the function called in the innermost list containing point. C-h v uses the symbol name around or adjacent to point as its default.
Documentation on operating system commands, library functions and system calls can be obtained with the M-x manual-entry command. This reads a topic as an argument, and displays the ``man page'' on that topic. manual-entry starts a background process that formats the manual page, by running the man program. The result goes in a buffer named `*man topic*'. These buffers use a special major mode, Man mode, that facilitates scrolling and examining other manual pages. For details, type C-h m while in a man page buffer.
For a long man page, setting the faces properly can take substantial time. By default, Emacs uses faces in man pages if you are using X Windows. You can turn off use of faces in man pages by setting the variable Man-fontify-manpage-flag to nil .
If you insert the text of a man page into an Emacs buffer in some other fashion, you can use the command M-x Man-fontify-manpage to perform the same conversions that M-x manual-entry does.
Eventually the GNU project hopes to replace most man pages with better-organized manuals that you can browse with Info. See Misc Help. Since this process is only partially completed, it is still useful to read manual pages.