GNU Emacs Manual - Apropos

Go to the first, previous, next, last section, table of contents.

## Apropos

A more sophisticated sort of question to ask is, "What are the commands for working with files?" To ask this question, type `C-h a file `RET``, which displays a list of all command names that contain ``file'`, including `copy-file`, `find-file`, and so on. With each command name appears a brief description of how to use the command, and what keys you can currently invoke it with. For example, it would say that you can invoke `find-file` by typing `C-x C-f`. The `a` in `C-h a` stands for `Apropos'; `C-h a` runs the command `apropos-command`. This command normally checks only commands (interactive functions); if you specify a prefix argument, it checks noninteractive functions as well.

Because `C-h a` looks only for functions whose names contain the string you specify, you must use ingenuity in choosing the string. If you are looking for commands for killing backwards and `C-h a kill-backwards `RET`` doesn't reveal any, don't give up. Try just `kill`, or just `backwards`, or just `back`. Be persistent. Also note that you can use a regular expression as the argument, for more flexibility (see section Syntax of Regular Expressions).

Here is a set of arguments to give to `C-h a` that covers many classes of Emacs commands, since there are strong conventions for naming the standard Emacs commands. By giving you a feel for the naming conventions, this set should also serve to aid you in developing a technique for picking `apropos` strings.

> char, line, word, sentence, paragraph, region, page, sexp, list, defun, rect, buffer, frame, window, face, file, dir, register, mode, beginning, end, forward, backward, next, previous, up, down, search, goto, kill, delete, mark, insert, yank, fill, indent, case, change, set, what, list, find, view, describe, default.

To list all user variables that match a regexp, use the command `M-x apropos-variable`. This command shows only user variables and customization options by default; if you specify a prefix argument, it checks all variables.

To list all Lisp symbols that contain a match for a regexp, not just the ones that are defined as commands, use the command `M-x apropos` instead of `C-h a`. This command does not check key bindings by default; specify a numeric argument if you want it to check them.

The `apropos-documentation` command is like `apropos` except that it searches documentation strings as well as symbol names for matches for the specified regular expression.

The `apropos-value` command is like `apropos` except that it searches symbols' values for matches for the specified regular expression. This command does not check function definitions or property lists by default; specify a numeric argument if you want it to check them.

If the variable `apropos-do-all` is non-`nil`, the commands above all behave as if they had been given a prefix argument.

If you want more information about a function definition, variable or symbol property listed in the Apropos buffer, you can click on it with `Mouse-2` or move there and type `RET`.

Go to the first, previous, next, last section, table of contents.