Sepanjang hari saya terus-menerus menggunakan C-h f
atau C-h v
( describe-function
dan describe-variable
) mencari dokumentasi untuk fungsi dan variabel. Lebih sering daripada tidak, jika saya tidak mendapatkan semua informasi yang saya butuhkan, saya akan mengklik tautan file di akhir:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
dan arahkan ke kode sumber. Ini berfungsi untuk paket yang diinstal, tetapi sepertinya tidak berfungsi untuk yang sudah ada. Sebagai contoh, di bagian atas halaman bantuan untuk perintah yang describe-function
saya dapatkan adalah:
describe-function is an interactive compiled Lisp function.
tanpa tautan ke kode sumber. Apakah ada cara untuk dengan cepat menavigasi ke kode sumber paket bawaan?
Saya tahu saya dapat menemukan kode sumber dalam mis. /usr/share/emacs/24.5/lisp
,, Dan menemukan sejumlah cara untuk mengakses direktori itu dengan cepat, tetapi saya ingin tahu apakah ada cara cepat dan mudah untuk menavigasi ke fungsi / definisi variabel bawaan di Kode sumber. Terima kasih!
M-x describe-function
: menggambarkan-fungsi adalah fungsi Lisp kompilasi autoloaded interaktif di 'help-fns.el'. Dan dari sana saya dapat mengklik (atau menekan enter) help-fns.el
dan kemudian dipindahkan ke bagian kode yang berlaku. Mungkin Anda memiliki beberapa versi Emacs, dan yang Anda gunakan saat ini tidak menginstal semua kode sumber?
emacs -Q
(tidak ada file init), atau jika Anda dapat mengolahnya dengan resep yang dimulai dengan emacs -Q
(misalnya mengatakan perpustakaan apa yang Anda muat dan bagaimana Anda memuatnya dll), maka silakan pertimbangkan untuk mengajukan bug melaporkan: M-x report-emacs-bug
.
.el
file (diperlakukan sebagai opsional) dari .elc
file (wajib), sehingga Anda perlu menginstal satu atau lebih paket tambahan untuk mendapatkannya. Jika Anda memperoleh Emacs dari manajer paket OS Anda, mungkin ini menjelaskannya.
/usr/bin/emacs
dan /usr/bin/emacsclient
, dan saya memiliki versi yang dikemas dengan baik di folder aplikasi OSX yang berakhiran .app - yaitu, /Applications/Emacs.app
(di dalam Emacs.app, adalah binari dan semua file kode sumber).
M-x find-function
;M-x find-variable
;M-x find-face
;M-x find-library
. Saya selalu menggunakan instalasi penuh Emacs sehingga saya memiliki akses ke semuanya, dan setelah membangun Emacs saya sendiri, saya menyalin kode sumber-C dan mengatur lokasinya sehingga saya dapat menemukan definisi kode Sumber-C juga. Lihat variabelfind-function-C-source-directory
untuk mengatur lokasi kode sumber-C setelah Anda menyalinnya.