Ich verwende die folgende Struktur, um Pakete und Dateien im Auge zu behalten
~/.emacs.d
|-- elpa ;; Package.el packages
|-- hack ;; Development versions of packages (e.g. org, personal packages)
|-- single-lisp ;; Individual lisp files from outside sources (e.g. EmacsWiki)
|-- site-lisp ;; Lisp packages not managed by package.el (directories)
|-- user-config ;; Machine/situation specific customization (work vs home)
| `-- custom.el ;; Customization settings
|-- lisp ;; Individual .el files to keep init.el clean
| `-- defaults.el ;; Default configuration settings
`-- init.el
Ich verwalte dann use-package
, welche Pakete geladen und welche Anpassungen für jedes Paket festgelegt werden. Meistens nur hack
undelpa
müssen aktualisiert werden, die anderen Ordner sind oft für einmalige Pakete, die ich testen oder kurz verwenden möchte, aber nicht laden muss (auch nicht im Leerlauf).
custom.el
dient zum Anpassen von Einstellungen, die ich lieber nicht verwende (und auch dann nicht versioniere, wenn ich sie verwende).
defaults.el
dient der allgemeinen Konfiguration (Menüleiste, Schriftart, Codierung usw.), die dann in einer beliebigen .el-Datei in überschrieben werden kann user-config/
, um ein System zu ermöglichen, das wie erwartet funktioniert, das jedoch an die Umgebung angepasst werden kann.
Ich hatte vorher versucht zu halten functions
, macros
, advice
in separaten Paketen für Abgrenzung zwischen Inhalt zu ermöglichen, sondern läuft in Definition / erfordern Fragen so jene wieder in gesetzt haben init.el
. Sie können schließlich wieder eingesetzt werden~/.emacs.d/lisp/
.
Ich versuche init.el
aufgeräumt zu bleiben , die Inhalte nach Funktion und Zweck zu sortieren, damit es einfach ist, sie wieder zu finden. Ich hatte die monolithische init.el
Datei und fügte am Ende immer wieder neuen Inhalt hinzu (oder wo ich dachte, dass er passen könnte) und wusste dann nicht, was ich hinzugefügt hatte oder wo ich ihn hinzugefügt hatte, als ich danach suchte (und manchmal hat die Suche mit isearch
nicht geholfen, da ich mich nicht erinnern konnte, wie ich die Dinge damals benannt hatte).