Jak zrobić bajt-skompilować wszystko w moim.emacs.katalog d?
Postanowiłem sprawdzić Emacsa i bardzo mi się spodobał. Teraz używam Emacs Starter Kit, który zapewnia lepsze domyślne ustawienia i kilka ładnych dostosowań do domyślnej instalacji Emacsa.
Trochę go dostosowałem, dodałem coś w rodzaju yasnippet, kolor-motywy, unbound i inne rzeczy. Skonfigurowałem repozytorium github, w którym przechowuję wszystkie konfiguracje, dzięki czemu mogę uzyskać do nich dostęp z wielu miejsc lub w razie potrzeby coś pójdzie źle i stracę swoje .emacs.katalog D.
To wszystko jest bardzo ładne, ale jest problem: załadowanie Emacsa zajmuje około 1-2 sekund. AFAIK mogę skompilować indywidualnie .pliki el Z M-x byte-compile-file to .elc i działa. Ale jest ich wiele .pliki el, i zastanawiam się, czy jest sposób, aby skompilować je wszystkie za pomocą prostego polecenia, czy coś takiego, aby przyspieszyć ładowanie Emacsa. Mój Emacs nie zawsze jest otwarty, a ja Otwieram i zamykam go dość często, szczególnie po ustawieniu jako domyślny edytor polecenia edycji w Total Commanderze, aby szybciej się do niego przyzwyczaić(tak, windows xp tutaj).
Moja wersja Emacsa to 22.3. I tak, domyślna instalacja Emacsa bez żadnych modyfikacji uruchamia się natychmiast.
Nie jestem pewien, która wersja jest preferowana podczas ładowania, the. el lub compiled .elc one by the way O. o
Więc, czy istnieje polecenie elisp lub przełącznik linii poleceń Emacs, aby Emacs Byte-skompilować wszystko w .emacs.katalog d?
5 answers
C-u 0 M-x byte-recompile-directory
Skompiluje wszystkie .pliki el w katalogu i we wszystkich podkatalogach poniżej.
C-u 0
część polega na tym, aby nie pytać o wszystkie .plik el, który nie ma .odpowiednik elc.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-13 15:43:43
Aby automatycznie skompilować wszystko, co wymaga kompilacji bajtów za każdym razem, gdy uruchamiam Emacsa, umieszczam po zmianach load-path
na górze pliku .emacs
:
(byte-recompile-directory (expand-file-name "~/.emacs.d") 0)
O dziwo, to nie dodaje wiele do mojego czasu uruchamiania (chyba, że coś trzeba skompilować).
Aby przyspieszyć mój emacs, najpierw zidentyfikowałem wolne części za pomocą profilu -dotemacs.el, a następnie zastąpiono je autoloadami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-17 21:49:03
Możesz użyć znacznika --batch
do przekompilowania z linii poleceń.
Aby przekompilować wszystkie, wykonaj
emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'
Lub przekompilować pojedynczy plik z pliku Makefile,
emacs --batch --eval '(byte-compile-file "your-elisp-file.el")'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-12 18:31:39
To trochę kołysze się od pytania, ale aby rozwiązać problem powolnego ładowania, możesz użyć nowej funkcji demona w Emacsie 23.
" Jeśli masz wiele pakietów wsparcia, uruchamianie Emacsa może być trochę powolne. Jednak emacs 23 przynosi Emacsa -- daemon, który umożliwia uruchamianie Emacsa w tle (np. po zalogowaniu). Możesz natychmiast wyskakują nowe okna (ramki) Emacsa z emacsclient. Oczywiście, możesz Mam już "serwer" Emacsa w starsze wersje, ale będąc w stanie start it in the background makes this o wiele ładniejsze rozwiązanie "
Z http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-02 02:23:47
Dla mojego korzystania z spacemacs, komenda jest spacemacs/recompile-elpa
. Polecenie byte-recompile-directory
nie kompiluje żadnego pliku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 15:43:57