Siguiente pregunta, ¿por qué esto no está en Emacs?
Jonathan Leech-Pepin
1
@ JonathanLeech-Pepin: Propuesto, pero rechazado por Emacs Dev.
Dibujó el
Respuestas:
12
Si. La biblioteca help-fns+.eldefine el comando describe-command.
Y se redefine describe-functionpara que así sea describe-commandsi le das un prefijo arg.
La biblioteca se une describe-commanda C-h c( describe-key-brieflyse mueve a C-h C-c).
La misma biblioteca define otros comandos de ayuda, tales como describe-file, describe-buffer, describe-keymap, y describe-option-of-type. Aquí hay más información sobre la biblioteca.
Realmente me gusta help-fns +, pero está agregando un gran espacio y un comentario genérico sobre cada función que miro: imgur.com/NiDlkjS , ¿alguna idea?
Wilfred Hughes
@WilfredHughes: debería estar bien ahora . (También debe reflejarse en MELPA dentro de las 24 horas)
No puedo encontrar esto incorporado. Es bastante fácil crear un contenedor describe-functionque solo complete los nombres de los comandos cuando se llama de forma interactiva. En la implementación a continuación, dupliqué el formulario interactivo describe-functiony cambié la fboundpprueba a commandp. Como una ventaja adicional, esta función ofrece todos los nombres de funciones cuando se llama con un argumento prefijo. Cambie if current-prefix-arga if (not current-prefix-arg)para que la descripción de todas las funciones sea la predeterminada.
(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))
No he probado esto con ido, pero debería integrarse normalmente.
La prueba rápida muestra que funciona con IDO. Copiado a *scratch*, evaluado luego corrió M-x describe-command. Los comandos aparecieron en una lista vertical gracias a ido-vertical.
Jonathan Leech-Pepin
¿No debería ser la última línea (describe-function command)?
npostavs
5
Si está utilizando helm and helm-M-x, puede presionar C-jlos comandos para que aparezca su documentación.
Respuestas:
Si. La biblioteca
help-fns+.el
define el comandodescribe-command
.Y se redefine
describe-function
para que así seadescribe-command
si le das un prefijo arg.La biblioteca se une
describe-command
aC-h c
(describe-key-briefly
se mueve aC-h C-c
).La misma biblioteca define otros comandos de ayuda, tales como
describe-file
,describe-buffer
,describe-keymap
, ydescribe-option-of-type
. Aquí hay más información sobre la biblioteca.fuente
apropos-command
podría estar lo suficientemente cerca.No ofrece
describe-function
la finalización de la pestaña, pero le permite buscar solo a través de comandos y lo lleva a su página de documentación.fuente
Si tiene instalado smex, simplemente llame a smex. Comience a escribir, cuando aparezca el correcto, presione Ch f.
fuente
No puedo encontrar esto incorporado. Es bastante fácil crear un contenedor
describe-function
que solo complete los nombres de los comandos cuando se llama de forma interactiva. En la implementación a continuación, dupliqué el formulario interactivodescribe-function
y cambié lafboundp
prueba acommandp
. Como una ventaja adicional, esta función ofrece todos los nombres de funciones cuando se llama con un argumento prefijo. Cambieif current-prefix-arg
aif (not current-prefix-arg)
para que la descripción de todas las funciones sea la predeterminada.No he probado esto con ido, pero debería integrarse normalmente.
fuente
*scratch*
, evaluado luego corrióM-x describe-command
. Los comandos aparecieron en una lista vertical gracias aido-vertical
.(describe-function command)
?Si está utilizando helm and
helm-M-x
, puede presionarC-j
los comandos para que aparezca su documentación.fuente