ตลอดทั้งวันฉันใช้C-h f
หรือC-h v
( describe-function
และdescribe-variable
) เพื่อค้นหาเอกสารสำหรับฟังก์ชั่นและตัวแปรตลอดเวลา บ่อยกว่านั้นถ้าฉันไม่ได้รับข้อมูลทั้งหมดที่ฉันต้องการฉันจะคลิกที่ลิงค์ของไฟล์ในตอนท้ายของ:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
และนำทางไปยังซอร์สโค้ด ใช้งานได้กับแพ็คเกจที่ติดตั้ง แต่ดูเหมือนจะใช้งานไม่ได้กับแพ็คเกจในตัว ตัวอย่างเช่นที่ด้านบนของหน้าช่วยเหลือสำหรับคำสั่งdescribe-function
ทั้งหมดที่ฉันได้รับคือ:
describe-function is an interactive compiled Lisp function.
ไม่มีลิงก์ไปยังซอร์สโค้ด มีวิธีใดที่จะนำทางไปยังซอร์สโค้ดของแพ็คเกจในตัวได้อย่างรวดเร็ว
ฉันรู้ว่าฉันสามารถหาซอร์สโค้ดได้เช่น, /usr/share/emacs/24.5/lisp
และหาวิธีการเข้าถึงไดเรกทอรีนั้นได้อย่างรวดเร็ว แต่ฉันอยากรู้ว่ามีวิธีที่ง่ายและรวดเร็วในการนำทางฟังก์ชั่น / คำจำกัดความของตัวแปรในตัว รหัสแหล่งที่มา. ขอบคุณ!
M-x describe-function
: description-function เป็นฟังก์ชั่น Lisp ที่คอมไพล์แล้วที่มีการโหลดอัตโนมัติใน 'help-fns.el' และจากที่นั่นฉันสามารถคลิกที่ (หรือกด Enter) help-fns.el
แล้วส่งไปยังส่วนที่เกี่ยวข้องของรหัส บางทีคุณอาจมี Emacs หลายรุ่นและรุ่นที่คุณใช้อยู่ในขณะนี้ไม่ได้ติดตั้งซอร์สโค้ดทั้งหมดใช่หรือไม่
emacs -Q
(ไม่มีไฟล์ init) หรือหากคุณสามารถทำซ้ำได้ด้วยสูตรที่ขึ้นต้นด้วยemacs -Q
(เช่นบอกว่าคุณโหลดไลบรารีใดและโหลดอย่างไร ฯลฯ ) โปรดพิจารณาการจัดทำข้อบกพร่อง รายงาน: M-x report-emacs-bug
.
.el
ไฟล์ (ถือว่าเป็นตัวเลือก) ออกจาก.elc
ไฟล์ (จำเป็น), เช่นที่คุณต้องติดตั้งแพ็คเกจเพิ่มเติมหนึ่งแพ็คเกจหรือมากกว่าเพื่อรับมัน หากคุณได้รับ Emac จากผู้จัดการแพ็คเกจระบบปฏิบัติการของคุณนี่อาจอธิบายได้
/usr/bin/emacs
และ/usr/bin/emacsclient
ฉันมีรุ่นที่บรรจุอย่างดีในโฟลเดอร์แอปพลิเคชัน OSX ที่ลงท้ายด้วย. app - เช่น/Applications/Emacs.app
(ภายใน Emacs.app นั้นเป็นไบนารีและทั้งหมด ไฟล์ซอร์สโค้ด)
M-x find-function
;M-x find-variable
;M-x find-face
;M-x find-library
. ฉันมักจะใช้การติดตั้ง Emacs แบบเต็มรูปแบบเพื่อให้ฉันสามารถเข้าถึงทุกสิ่งได้และหลังจากสร้าง Emacs ของตัวเองฉันก็จะคัดลอกรหัส C-source และตั้งค่าตำแหน่งเพื่อให้ฉันสามารถค้นหาคำจำกัดความของรหัส C-Source ได้เช่นกัน ดูตัวแปรfind-function-C-source-directory
เพื่อตั้งค่าตำแหน่งของรหัส C-source หลังจากที่คุณคัดลอกไป