You can use the Emacs apropos feature to obtain information about the Emacs entities that match a regular expression (regexp) or keywords that you type.
There are several Emacs apropos commands, including the following:
‘apropos-symbol’, as it gives info on all Emacs symbols, whether they are used for functions, variables, faces,….
‘command-apropos’. (The list you’re reading is part of what you see when you do
‘C-h a apropos’.)
‘C-h a’ (
‘apropos-command’), these other apropos commands are not, by default, bound to any key sequence, so you will need to access them using
‘M-x’ – for example, `
M-x apropos-variable line’ shows information about all variables whose names contain “
In the summary buffer for apropos, match hits have links that provide more information. To follow a link, click it with
‘mouse-2’, or put the cursor on it and hit
In XEmacs, Help->Commands, Variables, Keys->Apropos… will give you the list of commands, functions, variables and macros that match a regexp.
‘C-h v’, and so on, followed by a regexp and
‘S-TAB’to see all matching commands, functions, variables, and so on. You can then use
‘C-M-prior’to cycle through them, showing the doc for each one in turn in the
‘*Help*’buffer. Or click an individual name with
‘C-M-mouse-2’to see its doc. Or use
‘prior’to navigate to a particular name, and then use
‘C-M-RET’to see its doc.
‘apropos’commands also let you see the list of regexp matches incrementally using
‘icicle-plist’are similar to
‘apropos-documentation’, but with additional features. See Icicles - Multi-Completions.
Sometimes you’ll find it useful to see all symbols that belong to a particular “package”. The following code assumes that every symbol that belongs to a particular package is prefixed with its name. For example, the function `color-theme-calm-forest` belongs to the `color-theme` package and will appear in the list as `calm-forest`.
The following ELisp code defines a function for doing that. It basically modifies the Apropos buffer to hide the package name prefix.
(defun package-apropos (package-name) "Shows all meaningful Lisp symbols that are part of a package with the name PACKAGE-NAME. When printing them out, removes the PACKAGE-NAME prefix. For example, a search for ``apropos'' will display ``print'', ``command'', etc. in the *Apropos* buffer. Returns list of symbols and documentation found." (interactive "sEnter the package name: ") (let ((package (concat package-name "-"))) (setq apropos-accumulator (apropos (concat "^" package))) (apropos-print nil nil (concat "Package prefix: " package)) (set-buffer "*Apropos*") (toggle-read-only) (search-forward "Package prefix: ") (let ((start (point))) (end-of-line) (put-text-property start (point) 'face apropos-symbol-face)) (while (not (null (search-forward package nil t))) ;; hide the package prefix (let ((end (point))) (beginning-of-line) (put-text-property (point) end 'invisible t) (end-of-line))) (toggle-read-only)))