I use C-h f heavily, but this is all functions in Emacs. I'm often only interested in interactive functions, i.e. commands.
Is there an equivalent for commands? Ideally I'd like ido completion too.
Emacs Stack Exchange is a question and answer site for those using, extending or developing Emacs. It only takes a minute to sign up.Sign up to join this community
help-fns+.el defines command
And it redefines
describe-function so that it does
describe-command if you give it a prefix arg.
The library binds
C-h c (
describe-key-briefly is moved to
The same library defines other help commands, such as
describe-option-of-type. Here is more info about the library.
apropos-command might be sufficiently close.
It doesn’t offer
describe-function’s tab completion, but it lets you
search only through commands, and it takes you
to their doc page.
if you have smex installed, just call smex. Start to type, when the right one comes up, press C-h f.
I can't find this built-in. It is fairly easy to make a wrapper around
describe-function that only completes command names when called interactively. In the implementation below, I duplicated the interactive form from
describe-function and changed the
fboundp test to
commandp. As an added bonus, this function offers all function names when called with a prefix argument. Change
if current-prefix-arg to
if (not current-prefix-arg) to make describing all functions the default.
(defun describe-command (function &optional all-functions) "Display the full documentation of FUNCTION (a symbol). When called interactively with a prefix argument, prompt for all functions, not just interactive commands, like `describe-function'." (interactive (if current-prefix-arg (eval (car (cdr (interactive-form 'describe-function)))) (list (let ((fn (function-called-at-point)) (enable-recursive-minibuffers t) val) (setq val (completing-read (if (and fn (commandp fn)) (format "Describe command (default %s): " fn) "Describe command: ") obarray 'commandp t nil nil (and fn (commandp fn) (symbol-name fn)))) (if (equal val "") fn (intern val))) current-prefix-arg))) (describe-function function))
I haven't tested this with ido but it should integrate normally.
If you are using helm and
helm-M-x, you can press
C-j on the commands to pop up their documentation.