コマンド `describe-function 'に似たコマンド` describe-command'がありますか?


14

私はC-h f頻繁に使用しますが、これはEmacsのすべての機能です。私はしばしば、対話型の機能、つまりコマンドにのみ興味があります。

コマンドに相当するものはありますか?理想としては、イドも完成させたいです。


1
次の質問、なぜこれはEmacsにないのですか?
ジョナサンリーチペピン14

1
@ JonathanLeech-Pepin:提案されましたが、Emacs Devによって拒否されました。
ドリュー

回答:


12

はい。ライブラリhelp-fns+.elはコマンドを定義しますdescribe-command

そして、それを再定義するdescribe-functionのでdescribe-command、接頭辞argを与えた場合にそうなります。

ライブラリがバインドdescribe-commandしますC-h cdescribe-key-brieflyに移動しますC-h C-c)。

同じライブラリーは、次のような他のヘルプコマンドを定義しdescribe-filedescribe-bufferdescribe-keymap、とdescribe-option-of-type。ライブラリの詳細はこちらです。


1
私はhelp-fns +が大好きですが、見ているすべての機能に大きなスペースと一般的なコメントを追加しています:imgur.com/NiDlkjS-何かアイデアはありますか?
ウィルフレッドヒューズ14年

@WilfredHughes:今は大丈夫です。(24時間以内にMELPAでもミラーリングする必要があります。)
ドリュー

コメントからのドリューのリンク@ 18:25は壊れています。 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-functionfboundpテストをに変更しました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
ジョナサンリーチペピン14

最後の行は(describe-function command)どうでしょうか?
npostavs

5

helmとを使用している場合は、コマンドをhelm-M-x押しC-jてドキュメントをポップアップできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.