Как повысить скорость загрузки моих настроенных emacs?

Когда я добавляю все больше и больше плагинов и конфигураций в init.el моего emacs, он запускается все медленнее. Есть ли способ избежать этого?

Ответ 1

В вашем .emacs или init.el не должно быть много команд require или load, в основном это должно быть autoload. Функция autoload сообщает Emacs "если вам когда-либо понадобится эта функция, загрузите этот файл". Таким образом, файл загружается только тогда, когда вы действительно используете эту функцию. Вам нужно только require (или очень редко load) в двух случаях:

  • если есть настройка, которая должна немедленно вступить в силу (например, (require 'cl), цветная тема);
  • если вы загружаете небольшой файл, содержащий autoloads и другие начальные определения пакета (например, (require 'tex-site).

Если вы этого еще не делаете, вызов autoload для таких вещей, как индивидуальные настройки, может значительно сократить время запуска, поскольку Emacs придется загружать меньше файлов.

Кроме того, убедитесь, что ваши файлы скомпилированы в байтах; они будут загружаться немного быстрее (меньше процессорного времени). Вызовите M-x emacs-lisp-byte-compile в каждом файле .el или M-x byte-recompile-directory (эти команды находятся в меню Emacs- Lisp).

Наконец, обратите внимание, что время загрузки не имеет большого значения, потому что вы должны запускать Emacs не чаще одного раза за сеанс. Запустите Emacs автоматически при входе в систему, либо с окном, либо в фоновом режиме с опцией --daemon. Затем, чтобы отредактировать файл, запустите emacsclient. Вы также можете сообщить emacsclient, чтобы запустить Emacs, если он еще не запущен, если вы не хотите запускать его при входе в систему.