Zdecydowałem się sprawdzić Emacsa i bardzo mi się spodobał. Teraz używam Emacsa Starter Kit , który zapewnia lepsze ustawienia domyślne i kilka fajnych dostosowań do domyślnej instalacji Emacsa.
Trochę go dostosowałem, dodałem kilka rzeczy, takich jak yasnippet , motywy kolorów , niezwiązane i inne rzeczy. Skonfigurowałem repozytorium github, w którym przechowuję wszystkie dostosowania, aby mieć do nich dostęp z wielu miejsc lub na wypadek, gdyby coś poszło źle i straciłem katalog .emacs.d.
Wszystko to jest bardzo przyjemne, ale jest problem: ładowanie Emacsa zajmuje około 1-2 sekund. AFAIK Mogę skompilować pojedyncze pliki .el z plikiem kompilacji bajtów Mx do .elc i to działa. Ale jest wiele plików .el i zastanawiam się, czy istnieje sposób na skompilowanie ich wszystkich za pomocą prostego polecenia lub czegoś w tym rodzaju, aby przyspieszyć ładowanie Emacsa. Mój Emacs nie zawsze jest otwarty, a ja otwieram go i zamykam dość często, zwłaszcza po ustawieniu go jako domyślnego edytora dla poleceń edycji w Total Commander, aby szybciej się do niego przyzwyczaić (tak, tutaj windows xp).
Moja wersja Emacsa to 22.3. I tak, domyślna instalacja Emacsa bez żadnych dostosowań uruchamia się natychmiast.
Nie jestem pewien, która wersja jest preferowana podczas ładowania, przy okazji .el czy skompilowany .elc Oo
Czy jest więc polecenie elisp lub przełącznik wiersza poleceń Emacsa, który zmusiłby Emacsa do kompilacji bajtowej wszystkiego w katalogu .emacs.d?
C-u 0
(akaC-0
, BTW). To będzie kompilować bajtowo tylko te pliki źródłowe, które są nowsze niż ich wersje skompilowane bajtowo.FORCE
aby ponownie skompilować pliki, które mają już skojarzony ".elc", nawet jeśli nie są starsze niż plik źródłowy:M-: (byte-recompile-directory "/the/directory/" 0 t)
Aby automatycznie kompilować bajtowo wszystko, co wymaga kompilacji bajtów za każdym razem, gdy uruchamiam emacsa, po wprowadzeniu zmian umieszczam
load-path
na górze mojego.emacs
pliku:O dziwo, nie dodaje to wiele czasu do uruchomienia (chyba, że coś trzeba skompilować).
Aby przyspieszyć emacsa, najpierw zidentyfikowałem wolne części za pomocą profile-dotemacs.el, a następnie zastąpiłem je automatycznymi ładowaniami .
źródło
Możesz użyć
--batch
flagi, aby ponownie skompilować z wiersza poleceń.Aby ponownie skompilować wszystko, zrób
lub przekompilować pojedynczy plik tak jak z Makefile,
źródło
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
- nie powtarza się tak jak byte-recompile-directory .To trochę się waha od pytania, ale aby rozwiązać problem powolnego ładowania, możesz użyć nowej funkcji demona w Emacs 23.
Od http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
źródło
W przypadku korzystania z spacemacs polecenie brzmi
spacemacs/recompile-elpa
. Poleceniebyte-recompile-directory
nie kompiluje żadnego pliku.źródło