Apakah ada perintah `jelaskan-perintah ', mirip dengan perintah` jelaskan-fungsi'?


14

Saya menggunakan C-h fbanyak, tapi ini semua fungsi di Emacs. Saya sering hanya tertarik pada fungsi interaktif, yaitu perintah.

Apakah ada yang setara dengan perintah? Idealnya saya juga ingin penyelesaian ido.


1
Pertanyaan selanjutnya, mengapa ini tidak ada di Emacs?
Jonathan Leech-Pepin

1
@ JonathanLeech-Pepin: Diusulkan, tetapi ditolak oleh Emacs Dev.
Drew

Jawaban:


12

Iya. Library help-fns+.elmendefinisikan perintah describe-command.

Dan itu mendefinisikan ulang describe-functionsehingga tidak describe-commandjika Anda memberikannya awalan arg.

Perpustakaan mengikat describe-commandke C-h c( describe-key-brieflydipindahkan ke C-h C-c).

Perpustakaan yang sama mendefinisikan perintah bantuan lainnya, seperti describe-file, describe-buffer, describe-keymap, dan describe-option-of-type. Berikut ini info lebih lanjut tentang perpustakaan.


1
Saya sangat suka help-fns +, tapi itu menambah ruang besar dan komentar umum pada setiap fungsi yang saya lihat: imgur.com/NiDlkjS - ada ide?
Wilfred Hughes

@WilfredHughes: Harus OK sekarang . (Harus juga dicerminkan pada MELPA dalam 24 jam.)
Drew

Tautan Drew dari komentar @ 18:25 rusak. emacswiki.org/emacs/download/help-fns%2b.el berfungsi.
Realraptor

1
@Realraptor: Terima kasih. URL EmacsWiki berubah beberapa tahun yang lalu.
Drew

9

apropos-command mungkin cukup dekat.

Itu tidak menawarkan describe-functionpenyelesaian tab, tetapi memungkinkan Anda mencari hanya melalui perintah, dan itu membawa Anda ke halaman dokumen mereka.


8

jika Anda telah menginstal smex, panggil saja smex. Mulai mengetik, saat yang tepat muncul, tekan Ch f.


7

Saya tidak dapat menemukan ini bawaan. Sangat mudah untuk membuat wrapper sekitar describe-functionyang hanya melengkapi nama perintah ketika dipanggil secara interaktif. Dalam implementasi di bawah ini, saya menggandakan formulir interaktif dari describe-functiondan mengubah fboundptes menjadi commandp. Sebagai bonus tambahan, fungsi ini menawarkan semua nama fungsi saat dipanggil dengan argumen awalan. Ubah if current-prefix-arguntuk if (not current-prefix-arg)menjadikan menggambarkan semua fungsi sebagai default.

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

Saya belum menguji ini dengan ido tetapi harus berintegrasi secara normal.


Tes cepat menunjukkan bahwa ia bekerja dengan IDO. Disalin ke *scratch*, dievaluasi kemudian dijalankan M-x describe-command. Perintah muncul dalam daftar vertikal berkat ido-vertical.
Jonathan Leech-Pepin

Bukankah seharusnya baris terakhir (describe-function command)?
npostavs

5

Jika Anda menggunakan helm dan helm-M-x, Anda dapat menekan C-jperintah untuk memunculkan dokumentasi mereka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.