"Define-function" komutuna benzer bir `` description-command '' komutu var mı?


14

Çok kullanıyorum C-h f, ama bunların hepsi Emacs'daki işlevler. Genellikle sadece etkileşimli işlevlerle, yani komutlarla ilgileniyorum.

Komutlar için eşdeğeri var mı? İdeal olarak ben de ido tamamlama istiyorum.


1
Sonraki soru, bu neden Emacs'ta değil?
Jonathan Leech-Pepin

1
@ JonathanLeech-Pepin: Önerilen, ancak Emacs Dev.
Drew

Yanıtlar:


12

Evet. Kütüphane help-fns+.elkomutu tanımlar describe-command.

Ve bir önek argümanı verirseniz describe-function, bunu yeniden tanımlar describe-command.

Kütüphane bağlandığı describe-commandiçin C-h c( describe-key-brieflytaşınır C-h C-c).

Aynı kütüphane gibi diğer yardımcı komutları, tanımlar describe-file, describe-buffer, describe-keymapve describe-option-of-type. İşte kütüphane hakkında daha fazla bilgi .


1
Help-fns + 'dan çok hoşlanıyorum, ancak baktığım her fonksiyon için büyük bir alan ve genel bir yorum ekliyor : imgur.com/NiDlkjS - herhangi bir fikir?
Wilfred Hughes

@WilfredHughes: Şimdi iyi olmalı . (24 saat içinde MELPA'ya da yansıtılmalıdır.)
Drew

Drew'un @ 18:25 yorumundaki bağlantısı koptu. emacswiki.org/emacs/download/help-fns%2b.el çalışır.
Realraptor

1
@Realraptor: Teşekkürler. EmacsWiki URL'leri birkaç yıl önce değişti.
Drew

9

apropos-command yeterince yakın olabilir.

describe-functionSekmesinin tamamlanmasını önermez , ancak yalnızca komutlarla arama yapmanızı sağlar ve sizi belge sayfalarına götürür.


8

Eğer yüklü smex'iniz varsa, sadece smex'i arayın. Yazmaya başlayın, doğru olan geldiğinde Ch f tuşuna basın.


7

Bunu yerleşik olarak bulamıyorum. Etrafında describe-functionyalnızca etkileşimli olarak adlandırıldığında komut adlarını tamamlayan bir sarıcı yapmak oldukça kolaydır . Aşağıdaki uygulamada, etkileşimli formu çoğalttım describe-functionve fboundptesti olarak değiştirdim commandp. Ek bir bonus olarak, bu işlev bir önek bağımsız değişkeni ile çağrıldığında tüm işlev adlarını sunar. Tüm işlevleri açıklamayı varsayılan yapmak if current-prefix-argiçin if (not current-prefix-arg)olarak değiştirin .

(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))

Bunu ido ile test etmedim ama normal olarak entegre olmalı.


Hızlı test, IDO ile çalıştığını gösterir. Kopyalandı *scratch*, değerlendirildi ve koştu M-x describe-command. Komutlar sayesinde dikey bir listede ortaya çıktı ido-vertical.
Jonathan Leech-Pepin

Son satır olmamalı (describe-function command)mı?
npostavs

5

Dümen kullanıyorsanız ve belgelerini açmak için komutlara helm-M-xbasabilirsiniz C-j.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.