Im Laufe des Tages verwende ich ständig C-h f
oder C-h v
( describe-function
und describe-variable
), um die Dokumentation für Funktionen und Variablen nachzuschlagen. Wenn ich nicht alle benötigten Informationen erhalte, klicke ich meistens auf den Dateilink am Ende von:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
und navigieren Sie zum Quellcode. Dies funktioniert für installierte Pakete, scheint jedoch für integrierte Pakete nicht zu funktionieren. Zum Beispiel describe-function
bekomme ich oben auf der Hilfeseite für den Befehl nur Folgendes:
describe-function is an interactive compiled Lisp function.
ohne Link zum Quellcode. Gibt es eine Möglichkeit, schnell zum Quellcode eines integrierten Pakets zu navigieren?
Ich weiß , ich Quellcode in zB finden, /usr/share/emacs/24.5/lisp
und komme mit einem beliebigen Anzahl von Möglichkeiten , um den Zugriff des Verzeichnisses schnell, aber ich bin gespannt , ob es eine schnelle und einfache Möglichkeit, navigieren Sie zu einer integrierten Funktion / Variablendefinition in der ist Quellcode. Vielen Dank!
M-x describe-function
: description-function ist eine interaktive, automatisch geladene kompilierte Lisp-Funktion in 'help-fns.el'. Und von dort aus kann ich auf klicken (oder die Eingabetaste drücken) help-fns.el
und werde dann zum entsprechenden Abschnitt des Codes transportiert. Vielleicht haben Sie mehrere Emacs-Versionen, und in der Version, die Sie derzeit verwenden, ist nicht der gesamte Quellcode installiert?
emacs -Q
(keine Init-Datei) feststellen oder wenn Sie es mit einem Rezept wiederholen können, das mit beginnt emacs -Q
(z. B. wenn Sie angeben , welche Bibliotheken Sie laden und wie Sie sie laden usw.), sollten Sie einen Fehler melden Bericht : M-x report-emacs-bug
.
.el
Dateien (als optional behandelt) von den .elc
Dateien (obligatorisch), sodass Sie ein oder mehrere zusätzliche Pakete installieren müssen, um sie zu erhalten. Wenn Sie Emacs von Ihrem OS-Paketmanager erhalten haben, erklärt dies dies möglicherweise.
/usr/bin/emacs
und /usr/bin/emacsclient
ich habe eine Version, die gut in einem OSX-Anwendungsordner /Applications/Emacs.app
gepackt ist, der auf .app endet - dh (innerhalb dieser Emacs.app sind die Binärdateien und alle Quellcodedateien).
M-x find-function
;;M-x find-variable
;;M-x find-face
;;M-x find-library
. Ich verwende immer eine vollständige Installation von Emacs, damit ich auf alles zugreifen kann. Kurz nachdem ich meine eigenen Emacs erstellt habe, kopiere ich den C-Quellcode und stelle seinen Speicherort so ein, dass ich auch C-Quellcode-Definitionen finden kann. Sehen Sie sich die Variablefind-function-C-source-directory
an, um den Speicherort des C-Quellcodes nach dem Kopieren festzulegen.