Я решил проверить Emacs, и мне очень понравилось. Теперь я использую Emacs Starter Kit , который обеспечивает лучшие настройки по умолчанию и некоторые приятные настройки для установки Emacs по умолчанию.
Я немного настроил его, добавил некоторые вещи, такие как yasnippet , color-themes , unbound и другие вещи. Я установил github-репозиторий, в котором я храню все настройки, чтобы я мог получить к ним доступ из разных мест или в случае, если что-то пойдет не так, и я потеряю каталог .emacs.d.
Все это очень хорошо, но есть проблема: Emacs загружается за 1-2 секунды. AFAIK Я могу скомпилировать отдельные файлы .el с помощью Mx byte-compile-file в .elc, и это работает. Но есть много файлов .el, и мне интересно, есть ли способ собрать их все с помощью простой команды или чего-то еще, чтобы ускорить загрузку Emacs. Мой Emacs не всегда открыт, и я открываю и закрываю его довольно часто, особенно после того, как я настроил его в качестве редактора по умолчанию для команды редактирования в Total Commander, чтобы привыкнуть к нему быстрее (да, windows xp здесь).
Моя версия Emacs - 22,3. И да, стандартная установка Emacs без каких-либо настроек запускается мгновенно.
Я не уверен, какая версия предпочтительна при загрузке, .el или скомпилированная .elc, кстати Oo
Итак, есть ли команда elisp или ключ командной строки Emacs, чтобы заставить Emacs байтово скомпилировать все в каталоге .emacs.d?
C-u 0
(иначеC-0
, кстати). Это будет компилировать только те исходные файлы, которые более поздние, чем их версии, скомпилированные байтами.FORCE
для перекомпиляции файлов, у которых уже есть связанный «.elc», даже если они не старше исходного файла:M-: (byte-recompile-directory "/the/directory/" 0 t)
Для автоматической байтовой компиляции всего, что требует байтовой компиляции каждый раз, когда я запускаю emacs, я помещаю следующее после моих изменений
load-path
в начало моего.emacs
файла:Удивительно, но это не сильно увеличивает время запуска (если что-то не нужно компилировать).
Чтобы ускорить мой emacs, я сначала идентифицировал медленные части с помощью profile-dotemacs.el, а затем заменил их автозагрузками .
источник
Вы можете использовать
--batch
флаг для перекомпиляции из командной строки.Чтобы перекомпилировать все, сделайте
или перекомпилировать один файл как из Makefile,
источник
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
- он не повторяется, как byte-Recompile-directory .Это немного отклоняется от вопроса, но для решения проблемы медленной загрузки вы можете использовать новую функцию демона в Emacs 23.
С http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
источник
Для моего использования spacemacs, команда
spacemacs/recompile-elpa
. Командаbyte-recompile-directory
не компилирует ни один файл.источник