Durante tutto il giorno utilizzo costantemente C-h f
o C-h v
( describe-function
e describe-variable
) per cercare documentazione per funzioni e variabili. Più spesso, se non ottengo tutte le informazioni di cui ho bisogno, farò clic sul collegamento al file alla fine di:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
e vai al codice sorgente. Funziona con i pacchetti installati, ma non sembra funzionare con quelli integrati. Ad esempio, nella parte superiore della pagina di aiuto per il comando describe-function
ottengo solo:
describe-function is an interactive compiled Lisp function.
senza collegamento al codice sorgente. Esiste un modo per passare rapidamente al codice sorgente di un pacchetto integrato?
So di poter trovare il codice sorgente in eg, /usr/share/emacs/24.5/lisp
e trovare un numero qualsiasi di modi per accedere rapidamente a quella directory, ma sono curioso di sapere se esiste un modo semplice e veloce per navigare verso una funzione integrata / definizione variabile nella codice sorgente. Grazie!
M-x describe-function
: descrivi-funzione è una funzione Lisp compilata interattiva caricata automaticamente in "help-fns.el". E da lì posso fare clic su (o premere invio su) help-fns.el
e sono quindi trasportato nella sezione applicabile del codice. Forse hai più versioni di Emacs e quella che stai utilizzando al momento non ha installato tutto il codice sorgente?
emacs -Q
(nessun file init), o se riesci a riproporlo con una ricetta che inizia con emacs -Q
(es. Dicendo quali librerie carichi e come le carichi ecc.), Allora considera di presentare un bug segnalare: M-x report-emacs-bug
.
.el
file (trattati come opzionali) dai .elc
file (obbligatori), in modo tale che è necessario installare uno o più pacchetti aggiuntivi per ottenerli. Se hai ottenuto Emacs dal gestore dei pacchetti del tuo sistema operativo, forse questo lo spiega.
/usr/bin/emacs
e /usr/bin/emacsclient
, e ho una versione ben confezionata in una cartella dell'applicazione OSX che termina in .app - cioè, /Applications/Emacs.app
(all'interno di Emacs.app, ci sono i binari e tutti i file di codice sorgente).
M-x find-function
;M-x find-variable
;M-x find-face
;M-x find-library
. Uso sempre un'installazione completa di Emacs in modo da avere accesso a tutto, e subito dopo aver creato il mio Emacs copio il codice C-source e imposto la sua posizione in modo da poter trovare anche le definizioni del codice C-Source. Vedere la variabilefind-function-C-source-directory
per impostare la posizione del codice C-source dopo averlo copiato.