是否存在类似于“描述功能”命令的“描述命令”命令?


14

C-h f经常使用,但这是Emacs中的所有功能。我通常只对交互功能感兴趣,即命令。

命令是否等效?理想情况下,我也想完成ido。


1
下一个问题,为什么这不在Emacs中?
乔纳森·里希·佩平2014年

1
@ JonathanLeech-Pepin:提出,但被Emacs Dev拒绝。
2014年

Answers:


12

是。库help-fns+.el定义命令describe-command

并且重新定义它,describe-function以便describe-command在给它加上前缀arg时也可以这样做。

该库绑定describe-commandC-h cdescribe-key-briefly已移至C-h C-c)。

同样库定义其他帮助命令,如describe-filedescribe-bufferdescribe-keymap,和describe-option-of-type。这是有关库的更多信息


1
我真的很喜欢help-fns +,但是它为我查看的每个函数都添加了很大的空间和通用注释:imgur.com/NiDlkjS-有什么想法吗?
Wilfred Hughes 2014年

@WilfredHughes:现在应该可以。(也应在24小时内在MELPA上进行镜像。)
Drew

来自评论@ 18:25的Drew链接已断开。 emacswiki.org/emacs/download/help-fns%2b.el有效。
Realraptor

1
@ Realraptor:谢谢。EmacsWiki URL几年前已更改。
德鲁

9

apropos-command 可能足够接近。

它不提供describe-function的制表符补全功能,但仅允许您通过命令进行搜索,并带您进入其文档页面。


8

如果您已安装smex,则只需致电smex。开始输入文字,出现右边的文字时,按Ch f。


7

我找不到这个内置的。进行包装很容易describe-function,只有在交互式调用时才完成命令名称。在下面的实现中,我从复制了交互式表格,describe-function并将fboundp测试更改为commandp。另外,当使用前缀参数调用时,此函数提供所有函数名称。进行更改if current-prefix-argif (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测试过它,但是它应该可以正常集成。


快速测试表明它可以与IDO一起使用。复制到*scratch*,评估然后运行M-x describe-command。借助,命令以垂直列表显示ido-vertical
乔纳森·里希·佩平2014年

最后一行不应该(describe-function command)吗?
npostavs

5

如果您使用和helm-M-x,则可以按C-j命令来弹出其文档。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.