Có một lệnh 'description-lệnh', tương tự như lệnh` description-function 'không?


14

Tôi sử dụng C-h frất nhiều, nhưng đây là tất cả các chức năng trong Emacs. Tôi thường chỉ quan tâm đến các chức năng tương tác, tức là các lệnh.

Có tương đương cho các lệnh? Lý tưởng nhất là tôi cũng muốn hoàn thành ido.


1
Câu hỏi tiếp theo, tại sao điều này không có trong Emacs?
Jonathan Leech-Pepin

1
@ JonathanL336-Pepin: Được đề xuất, nhưng bị từ chối bởi Emacs Dev.
vẽ

Câu trả lời:


12

Đúng. Thư viện help-fns+.elxác định lệnh describe-command.

Và nó xác định lại describe-functionđể làm như vậy describe-commandnếu bạn cung cấp cho nó một tiền tố arg.

Thư viện liên kết describe-commandvới C-h c( describe-key-brieflyđược chuyển đến C-h C-c).

Cùng một thư viện định nghĩa lệnh giúp đỡ khác, chẳng hạn như describe-file, describe-buffer, describe-keymap, và describe-option-of-type. Dưới đây là thông tin thêm về thư viện.


1
Tôi thực sự thích help-fns +, nhưng nó thêm một không gian lớn và nhận xét chung về mọi chức năng tôi xem tại: imgur.com/NiDlkjS - có ý tưởng nào không?
Wilfred Hughes

@WilfredHughes: Nên ổn ngay bây giờ . (Cũng nên được nhân đôi trên MELPA trong vòng 24 giờ.)
Drew

Liên kết của Drew từ nhận xét @ 18:25 bị hỏng. emacswiki.org/emacs/doad/help-fns%2b.el hoạt động.
Realraptor

1
@Realraptor: Cảm ơn. URL EmacsWiki đã thay đổi một vài năm trước.
vẽ

9

apropos-command có thể đủ gần

Nó không cung cấp describe-functionhoàn thành tab, nhưng nó cho phép bạn chỉ tìm kiếm thông qua các lệnh và nó đưa bạn đến trang tài liệu của họ.


8

nếu bạn đã cài đặt smex, chỉ cần gọi smex. Bắt đầu gõ, khi cái bên phải xuất hiện, nhấn Ch f.


7

Tôi không thể tìm thấy tích hợp này. Khá dễ dàng để tạo một trình bao bọc xung quanh describe-functionchỉ hoàn thành các tên lệnh khi được gọi tương tác. Trong phần triển khai bên dưới, tôi đã nhân đôi hình thức tương tác từ describe-functionvà thay đổi fboundpthử nghiệm thành commandp. Là một phần thưởng bổ sung, hàm này cung cấp tất cả các tên hàm khi được gọi với một đối số tiền tố. Thay đổi if current-prefix-argđể if (not current-prefix-arg)làm cho mô tả tất cả các chức năng mặc định.

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

Tôi đã không thử nghiệm điều này với ido nhưng nó sẽ tích hợp bình thường.


Kiểm tra nhanh cho thấy rằng nó hoạt động với IDO. Sao chép *scratch*, đánh giá rồi chạy M-x describe-command. Các lệnh hiển thị trong một danh sách dọc nhờ ido-vertical.
Jonathan Leech-Pepin

Không phải là dòng cuối cùng phải (describe-function command)không?
npostavs

5

Nếu bạn đang sử dụng helm và helm-M-x, bạn có thể nhấn C-jvào các lệnh để bật lên tài liệu của họ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.