Answers:
是。库help-fns+.el
定义命令describe-command
。
并且重新定义它,describe-function
以便describe-command
在给它加上前缀arg时也可以这样做。
该库绑定describe-command
到C-h c
(describe-key-briefly
已移至C-h C-c
)。
同样库定义其他帮助命令,如describe-file
,describe-buffer
,describe-keymap
,和describe-option-of-type
。这是有关库的更多信息。
apropos-command
可能足够接近。
它不提供describe-function
的制表符补全功能,但仅允许您通过命令进行搜索,并带您进入其文档页面。
我找不到这个内置的。进行包装很容易describe-function
,只有在交互式调用时才完成命令名称。在下面的实现中,我从复制了交互式表格,describe-function
并将fboundp
测试更改为commandp
。另外,当使用前缀参数调用时,此函数提供所有函数名称。进行更改if current-prefix-arg
以if (not current-prefix-arg)
使描述所有功能成为默认功能。
(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))
我没有用ido测试过它,但是它应该可以正常集成。
*scratch*
,评估然后运行M-x describe-command
。借助,命令以垂直列表显示ido-vertical
。
(describe-function command)
吗?