Gün boyunca sürekli olarak işlevler ve değişkenler için dokümanları aramak için C-h f
veya C-h v
( describe-function
ve describe-variable
) kullanıyorum . Sık sık, ihtiyacım olan tüm bilgileri alamazsam, sonunda dosya bağlantısını tıklayacağım:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
kaynak koduna gidin. Bu, kurulu paketler için çalışır, ancak yerleşik paketler için işe yaramaz gibi görünüyor. Örneğin, komut için yardım sayfasının üst kısmında tek describe-function
aldığım şey:
describe-function is an interactive compiled Lisp function.
kaynak koduna bağlantı yok. Yerleşik bir paketin kaynak koduna hızlı bir şekilde gitmenin bir yolu var mı?
Örneğin, kaynak kodu bulabilirsiniz biliyorum /usr/share/emacs/24.5/lisp
ve bu dizine hızlı bir şekilde erişmek için herhangi bir sayıda yol ile gel, ama yerleşik bir işlev / değişken tanımına gitmek için hızlı ve kolay bir yolu olup olmadığını merak ediyorum kaynak kodu. Teşekkür ederim!
M-x describe-function
: define-function, 'help-fns.el'de etkileşimli otomatik yüklenen derlenmiş Lisp işlevidir. Ve oradan tıklayabilirim (veya enter tuşuna basabilirim) help-fns.el
ve daha sonra kodun ilgili bölümüne taşınırım. Belki birden fazla Emacs sürümünüz var ve şu anda kullandığınız kaynak kodun tamamı yüklü değil mi?
emacs -Q
(init dosyası yok) kullanarak başlattığınızda bu davranışı yaşarsanız veya ile başlayan bir tarifle emacs -Q
(örneğin hangi kitaplıkları yüklediğinizi ve bunları nasıl yüklediğinizi söyleyerek) yeniden çoğaltabiliyorsanız, lütfen hata bildirmeyi düşünün raporu: M-x report-emacs-bug
.
.el
dosyaları (isteğe bağlı olarak işlenir) dosyalardan ayırır .elc
(zorunlu), böylece bunları almak için bir veya daha fazla ek paket yüklemeniz gerekir. İşletim sistemi paket yöneticinizden Emacs aldıysanız, belki de bunu açıklar.
/usr/bin/emacs
ve /usr/bin/emacsclient
.app ile biten bir OSX uygulama klasöründe güzelce paketlenmiş bir sürüme sahibim - yani, /Applications/Emacs.app
(Emacs.app'ın içinde ikili dosyalar ve tüm kaynak kod dosyaları).
M-x find-function
;M-x find-variable
;M-x find-face
;M-x find-library
. Her zaman erişebilmem için her zaman tam bir Emacs yüklemesi kullanıyorum ve kendi Emacs'ımı oluşturduktan hemen sonra C-kaynak kodunu kopyalayıp C-Kaynak kodu tanımlarını da bulabilmek için konumunu ayarladım.find-function-C-source-directory
Kopyaladıktan sonra C-kaynak kodunun konumunu ayarlamak için değişkene bakın .