Как мне байт-скомпилировать все в моем.в Emacs.каталог д?



Я решил проверить Emacs, и мне это очень понравилось. Теперь, я использую Стартовый Комплект Emacs, который вид обеспечивает лучшие значения по умолчанию и некоторые хорошие настройки для установки по умолчанию Emacs.



Я настроил его немного, добавил некоторые вещи, как yasnippet,цвета-темы, unbound и другие вещи. Я установил репозиторий github где я храню все настройки, чтобы я мог получить доступ их из нескольких мест или в случае, если что-то пойдет не так, и я потеряю свой .в Emacs.каталог д'.



все это очень приятно, но есть проблема: Emacs занимает около 1-2 секунд для загрузки. Насколько мне известно, я могу составить индивидуальный .el файлы с M-x byte-compile-file to .elc, и это работает. Но их очень много .файлы el, и мне интересно, есть ли способ скомпилировать их все с помощью простой команды или чего-то еще, чтобы ускорить загрузку Emacs. Мой Emacs не всегда открыт, и я открываю и закрываю его довольно часто, особенно после того, как я установил его в качестве редактора по умолчанию для команды редактирования в Total Commander, чтобы быстрее привыкнуть к нему (да, windows xp здесь).



моя версия Emacs-22.3. И да, установка Emacs по умолчанию без каких-либо настроек запускается мгновенно.



Я не уверен, какая версия предпочтительнее при загрузке.эль или компиляции .elc one кстати O. o



Итак, есть ли команда elisp или переключатель командной строки Emacs для создания Emacs байт-скомпилировать все внутри .в Emacs.каталог д?

651   5  

5 ответов:

C-u 0 M-x byte-recompile-directory

скомпилирует все .Эль-файлы в каталоге и во всех подкаталогах ниже.

The C-u 0 часть, чтобы сделать его не спрашивать о каждом .el файл, который не имеет .Элк коллега.

для автоматической компиляции байтов все, что нужно для компиляции байтов каждый раз, когда я запускаю emacs, я ставлю следующее после моих изменений в load-path в верхней части моего .emacs file:

(byte-recompile-directory (expand-file-name "~/.emacs.d") 0)

Удивительно, но это не добавляет много к моему времени запуска (если что-то не нужно компилировать).

чтобы ускорить мой emacs, я сначала определил медленные части с помощью профиль-dotemacs.Эл а потом заменил их на автозагрузок.

можно использовать --batch флаг компиляции из командной строки.

перекомпилировать все, делать

emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'

или перекомпилировать один файл, а из файла Makefile

emacs --batch --eval '(byte-compile-file "your-elisp-file.el")'

Это немного колеблется от вопроса, но для решения проблемы медленной загрузки вы можете использовать новую функцию демона в Emacs 23.

"Если у вас много пакетов поддержки, запуск Emacs может быть немного медленным. Однако emacs 23 приносит emacs -- демон, который позволяет запускать emacs в фоновом режиме (например при входе в систему). Вы можете мгновенно всплывающие новые окна emacs (рамки) с emacsclient. Конечно, вы могли бы уже есть emacs "сервер" в старые версии, но возможность запустить его в фоновом режиме, делает это гораздо более приятное решение"

от http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html

для моего использования spacemacs, команда spacemacs/recompile-elpa. Команда byte-recompile-directory не компилирует файл.

Comments

    Ничего не найдено.