มีคำสั่ง `อธิบายคำสั่ง 'คล้ายกับคำสั่ง` อธิบายฟังก์ชั่น'?


14

ฉันใช้งานC-h fหนัก แต่นี่คือฟังก์ชั่นทั้งหมดใน Emacs ฉันมักจะสนใจฟังก์ชั่นแบบโต้ตอบเท่านั้นเช่นคำสั่ง

มีคำสั่งที่เทียบเท่าหรือไม่? เป็นการดีที่ฉันต้องการ ido ก็เช่นกัน


1
คำถามต่อไปทำไมถึงไม่ได้อยู่ใน Emacs?
Jonathan Leech-Pepin

1
@ JonathanLeech-Pepin: เสนอ แต่ปฏิเสธโดย Emacs Dev
ดึง

คำตอบ:


12

ใช่. ห้องสมุดคำสั่งกำหนดhelp-fns+.eldescribe-command

และมันก็เป็นนิยามใหม่describe-functionเพื่อที่จะไม่describe-commandถ้าคุณจะให้มันหาเรื่องคำนำหน้า

ห้องสมุดเชื่อมโยงdescribe-commandกับC-h c( describe-key-brieflyถูกย้ายไปที่C-h C-c)

ห้องสมุดเดียวกันกำหนดคำสั่งช่วยเหลืออื่น ๆ เช่นdescribe-file, describe-buffer, และdescribe-keymap describe-option-of-typeนี่คือข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุด


1
ฉันชอบ help-fns + แต่มันเป็นการเพิ่มพื้นที่ขนาดใหญ่และความคิดเห็นทั่วไปในทุกฟังก์ชั่นที่ฉันดู: imgur.com/NiDlkjS - แนวคิดใด ๆ ?
Wilfred Hughes

@WilfredHughes: ควรจะตกลงตอนนี้ (ควรทำมิรเรอร์ให้กับ MELPA ภายใน 24 ชม.)
ดึง

ลิงก์ของ Drew จากความคิดเห็น @ 18:25 เสียแล้ว emacswiki.org/emacs/download/help-fns%2b.el ใช้งานได้
Realraptor

1
@Realraptor: ขอบคุณ EmacsWiki URL เปลี่ยนไปเมื่อไม่กี่ปีที่ผ่านมา
ดึง

9

apropos-command อาจปิดอย่างเพียงพอ

มันไม่ได้describe-functionทำให้แท็บสมบูรณ์ แต่มันช่วยให้คุณค้นหาเฉพาะคำสั่งและมันจะพาคุณไปที่หน้าเอกสารของพวกเขา



7

ฉันไม่พบสิ่งนี้ในตัว มันค่อนข้างง่ายที่จะสร้าง wrapper รอบ ๆdescribe-functionซึ่งจะทำให้ชื่อคำสั่งเสร็จสมบูรณ์เมื่อถูกเรียกแบบโต้ตอบเท่านั้น ในการดำเนินการดังต่อไปนี้ผมซ้ำรูปแบบโต้ตอบจากdescribe-functionและการเปลี่ยนแปลงการทดสอบเพื่อfboundp commandpเป็นโบนัสเพิ่มฟังก์ชั่นนี้มีชื่อฟังก์ชั่นทั้งหมดเมื่อถูกเรียกด้วยอาร์กิวเมนต์คำนำหน้า เปลี่ยนif current-prefix-argเป็นif (not current-prefix-arg)อธิบายการทำงานทั้งหมดเป็นค่าเริ่มต้น

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

ฉันไม่ได้ทดสอบกับ ido แต่ควรรวมเข้าด้วยกันตามปกติ


การทดสอบอย่างรวดเร็วแสดงให้เห็นว่ามันทำงานได้กับ IDO คัดลอกไปที่การ*scratch*ประเมินแล้วเรียกM-x describe-commandใช้ ido-verticalคำสั่งที่ปรากฏตัวขึ้นในขอบคุณรายการแนวตั้ง
Jonathan Leech-Pepin

บรรทัดสุดท้ายไม่ควรเป็น(describe-function command)หรือ
npostavs

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.