C-h i (
info) runs the Info program, which browses
structured documentation files. C-h 4 i
info-other-window) does the same, but shows the Info buffer in
another window. The entire Emacs manual is available within Info,
along with many other manuals for the GNU system. Type h after
entering Info to run a tutorial on using Info.
With a numeric argument n, C-h i selects the Info buffer ‘*info*<n>’. This is useful if you want to browse multiple Info manuals simultaneously. If you specify just C-u as the prefix argument, C-h i prompts for the name of a documentation file, so you can browse a file which doesn’t have an entry in the top-level Info menu.
The help commands C-h F function RET and C-h K key, described above, enter Info and go straight to the documentation of function or key.
When editing a program, if you have an Info version of the manual
for the programming language, you can use C-h S
info-lookup-symbol) to find an entry for a symbol (keyword,
function or variable) in the proper manual. The details of how this
command works depend on the major mode.
If something surprising happens, and you are not sure what you typed,
use C-h l (
view-lossage). C-h l displays your last
input keystrokes and the commands they invoked. By default, Emacs
stores the last 300 keystrokes; if you wish, you can change this number with
If you see commands that you are not familiar with, you can use C-h k or
C-h f to find out what they do.
To review recent echo area messages, use C-h e
view-echo-area-messages). This displays the buffer
*Messages*, where those messages are kept.
Each Emacs major mode typically redefines a few keys and makes other
changes in how editing works. C-h m (
displays documentation on the current major mode, which normally
describes the commands and features that are changed in this mode, and
also its key bindings.
C-h b (
describe-bindings) and C-h s
describe-syntax) show other information about the current
environment within Emacs. C-h b displays a list of all the key
bindings now in effect: first the local bindings of the current minor
modes, then the local bindings defined by the current major mode, and
finally the global bindings (see Customizing Key Bindings). C-h s
displays the contents of the syntax table, with explanations of each
character’s syntax (see Syntax Tables in The
Emacs Lisp Reference Manual).
You can get a list of subcommands for a particular prefix key by
typing C-h, ?, or F1
describe-prefix-bindings) after the prefix key. (There are a
few prefix keys for which not all of these keys work—those that
provide their own bindings for that key. One of these prefix keys
is ESC, because ESC C-h and ESC ? are
actually C-M-h (
mark-defun) and M-?
xref-find-references), respectively. However,
ESC F1 works fine.)
Finally, M-x describe-keymap prompts for the name of a keymap, with completion, and displays a listing of all key bindings in that keymap.