Ich habe mich für Emacs entschieden und es hat mir sehr gut gefallen. Jetzt verwende ich das Emacs Starter Kit , das bessere Standardeinstellungen und einige nette Anpassungen für die Standardinstallation von Emacs bietet.
Ich habe es ein wenig angepasst, fügte ein paar Sachen wie yasnippet , farb Themen , ungebunden , und andere Sachen. Ich habe ein Github-Repository eingerichtet, in dem ich alle Anpassungen aufbewahre, damit ich von mehreren Stellen aus darauf zugreifen kann oder falls etwas schief geht und ich mein Verzeichnis .emacs.d verliere.
All dies ist sehr schön, aber es gibt ein Problem: Das Laden von Emacs dauert ca. 1-2 Sekunden. AFAIK Ich kann einzelne .el-Dateien mit Mx-Byte-Kompilierungsdatei zu .elc kompilieren, und es funktioniert. Aber es gibt viele .el-Dateien, und ich frage mich, ob es eine Möglichkeit gibt, sie alle mit einem einfachen Befehl oder etwas anderem zu kompilieren, um das Laden von Emacs zu beschleunigen. Mein Emacs ist nicht immer geöffnet, und ich öffne und schließe es ziemlich häufig, insbesondere nachdem ich es als Standardeditor für den Bearbeitungsbefehl in Total Commander eingerichtet habe, um mich schneller daran zu gewöhnen (ja, Windows XP hier).
Meine Emacs-Version ist 22.3. Und ja, die Standardinstallation von Emacs ohne Anpassungen wird sofort gestartet.
Ich bin mir nicht sicher, welche Version beim Laden bevorzugt wird, die .el oder kompilierte .elc übrigens Oo
Gibt es also einen elisp-Befehl oder einen Emacs-Befehlszeilenschalter, mit dem Emacs alles im Verzeichnis .emacs.d bytekompiliert?
C-u 0
(auch bekanntC-0
als BTW). Dadurch werden nur die Quelldateien bytekompiliert, die aktueller sind als ihre bytekompilierten Versionen.FORCE
um Dateien neu zu kompilieren, denen bereits ein ".elc" zugeordnet ist, auch wenn sie nicht älter als die Quelldatei sind:M-: (byte-recompile-directory "/the/directory/" 0 t)
Um bei jedem Start von Emacs automatisch alles zu kompilieren, was Byte kompiliert werden muss, füge ich nach meinen Änderungen Folgendes
load-path
oben in meine.emacs
Datei ein:Überraschenderweise verlängert sich meine Startzeit nicht wesentlich (es sei denn, etwas muss kompiliert werden).
Um meine Emacs zu beschleunigen, habe ich zuerst die langsamen Teile mit profile-dotemacs.el identifiziert und sie dann durch Autoloads ersetzt .
quelle
Mit dem
--batch
Flag können Sie über die Befehlszeile neu kompilieren.Um alles neu zu kompilieren, tun Sie
oder um eine einzelne Datei wie aus einem Makefile neu zu kompilieren,
quelle
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
- es wiederholt sich jedoch nicht wie das Byte- Recompile -Verzeichnis .Dies schwankt ein wenig von der Frage, aber um das Problem des langsamen Ladens zu lösen, können Sie die neue Daemon-Funktion in Emacs 23 verwenden.
Von http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
quelle
Für meine Verwendung von Spacemacs lautet der Befehl
spacemacs/recompile-elpa
. Der Befehlbyte-recompile-directory
kompiliert keine Datei.quelle