Как мне байт-скомпилировать все в моем.в 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.каталог д?
5 ответов:
C-u 0 M-x byte-recompile-directoryскомпилирует все .Эль-файлы в каталоге и во всех подкаталогах ниже.
The
C-u 0часть, чтобы сделать его не спрашивать о каждом .el файл, который не имеет .Элк коллега.
для автоматической компиляции байтов все, что нужно для компиляции байтов каждый раз, когда я запускаю emacs, я ставлю следующее после моих изменений в
load-pathв верхней части моего.emacsfile:(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