ตลอดทั้งวันฉันใช้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 หลังจากที่คุณคัดลอกไป