@ JonathanLeech-Pepin: Proponowane, ale odrzucone przez Emacsa Deva.
Drew
Odpowiedzi:
12
Tak. Biblioteka help-fns+.eldefiniuje polecenie describe-command.
I redefiniuje to describe-functiontak, że describe-commandjeśli zrobisz to z prefiksem arg.
Biblioteka wiąże się describe-commandz C-h c( describe-key-brieflyzostaje przeniesiona C-h C-c).
Ta sama biblioteka definiuje inne polecenia pomocy, takie jak describe-file, describe-buffer, describe-keymap, i describe-option-of-type. Oto więcej informacji o bibliotece.
Nie mogę znaleźć tego wbudowanego. Całkiem łatwo jest utworzyć opakowanie, describe-functionktóre uzupełnia nazwy poleceń tylko wtedy, gdy są wywoływane interaktywnie. W poniższej implementacji zduplikowałem interaktywny formularz describe-functioni zmieniłem fboundptest na commandp. Jako dodatkowy bonus, ta funkcja oferuje wszystkie nazwy funkcji, gdy są wywoływane z argumentem przedrostka. Zmień if current-prefix-argna, if (not current-prefix-arg)aby opisywanie wszystkich funkcji było domyślne.
(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))
Nie testowałem tego z ido, ale powinno się normalnie integrować.
Szybki test pokazuje, że działa z IDO. Skopiowano do *scratch*, oceniono, a następnie uruchomiono M-x describe-command. Dzięki nim polecenia pojawiły się na liście pionowej ido-vertical.
Jonathan Leech-Pepin
Czy nie powinna być ostatnia linia (describe-function command)?
npostavs
5
Jeśli używasz steru i helm-M-x, możesz nacisnąć C-jpolecenia, aby wyświetlić ich dokumentację.
Odpowiedzi:
Tak. Biblioteka
help-fns+.el
definiuje poleceniedescribe-command
.I redefiniuje to
describe-function
tak, żedescribe-command
jeśli zrobisz to z prefiksem arg.Biblioteka wiąże się
describe-command
zC-h c
(describe-key-briefly
zostaje przeniesionaC-h C-c
).Ta sama biblioteka definiuje inne polecenia pomocy, takie jak
describe-file
,describe-buffer
,describe-keymap
, idescribe-option-of-type
. Oto więcej informacji o bibliotece.źródło
apropos-command
może być wystarczająco blisko.Nie oferuje
describe-function
uzupełniania tabulatorów, ale pozwala wyszukiwać tylko za pomocą poleceń i prowadzi do strony z dokumentami.źródło
jeśli masz zainstalowany smex, po prostu zadzwoń do smex. Zacznij pisać, gdy pojawi się odpowiedni, naciśnij Ch f.
źródło
Nie mogę znaleźć tego wbudowanego. Całkiem łatwo jest utworzyć opakowanie,
describe-function
które uzupełnia nazwy poleceń tylko wtedy, gdy są wywoływane interaktywnie. W poniższej implementacji zduplikowałem interaktywny formularzdescribe-function
i zmieniłemfboundp
test nacommandp
. Jako dodatkowy bonus, ta funkcja oferuje wszystkie nazwy funkcji, gdy są wywoływane z argumentem przedrostka. Zmieńif current-prefix-arg
na,if (not current-prefix-arg)
aby opisywanie wszystkich funkcji było domyślne.Nie testowałem tego z ido, ale powinno się normalnie integrować.
źródło
*scratch*
, oceniono, a następnie uruchomionoM-x describe-command
. Dzięki nim polecenia pojawiły się na liście pionowejido-vertical
.(describe-function command)
?Jeśli używasz steru i
helm-M-x
, możesz nacisnąćC-j
polecenia, aby wyświetlić ich dokumentację.źródło