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.
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.
Câu trả lời:
Đúng. Thư viện help-fns+.el
xác định lệnh describe-command
.
Và nó xác định lại describe-function
để làm như vậy describe-command
nếu bạn cung cấp cho nó một tiền tố arg.
Thư viện liên kết describe-command
vớ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.
apropos-command
có thể đủ gần
Nó không cung cấp describe-function
hoà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ọ.
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-function
chỉ 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-function
và thay đổi fboundp
thử 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.
*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
.
(describe-function command)
không?
Nếu bạn đang sử dụng helm và helm-M-x
, bạn có thể nhấn C-j
vào các lệnh để bật lên tài liệu của họ.