Когда вы запускаете Emacs, он обычно пытается загрузить ваш файл инициализации. Это либо файл с именем .emacs или .emacs.el в вашем домашнем каталоге, либо файл с именем init.el в подкаталоге .emacs.d в вашем домашнем каталоге.
Командные переключатели «-q», «-Q» и «-u» контролируют, будет ли загружен файл инициализации и где его искать; «-q» (и более строгий «-Q») указывает не загружать файл инициализации, в то время как «-u user» указывает загрузить файл инициализации user вместо вашего. См. Вход в Emacs в Руководство GNU Emacs. Если ни один из этих вариантов не указан, Emacs использует переменную окружения LOGNAME или переменную USER (в большинстве систем) или USERNAME (в системах MS) для поиска вашего домашнего каталога и, следовательно, вашего файла инициализации; таким образом, даже если вы выполнили su, Emacs по-прежнему загружает ваш собственный файл инициализации. Однако, если эти переменные окружения отсутствуют, Emacs использует ваш идентификатор пользователя для поиска домашнего каталога.
Emacs также пытается загрузить второй файл инициализации, называемый ранний файл инициализации, если он существует. Это файл с именем early-init.el в вашем каталоге ~/.emacs.d. Разница между ранним файлом инициализации и обычным файлом инициализации в том, что ранний файл инициализации загружается намного раньше в процессе запуска, поэтому вы можете использовать его для настройки некоторых вещей, которые инициализируются до загрузки обычного файла инициализации. Например, вы можете настроить процесс инициализации системы пакетов, установив такие переменные, как package-load-list или package-enable-at-startup. См. Установка пакетов в Руководство GNU Emacs.
Установка Emacs может иметь файл инициализации по умолчанию, который является библиотекой Lisp с именем default.el. Emacs находит этот файл через стандартный путь поиска библиотек (см. Как программы загружают). Дистрибутив Emacs не поставляется с этим файлом; он предназначен для локальной настройки. Если файл инициализации по умолчанию существует, он загружается при каждом запуске Emacs. Но ваш собственный личный файл инициализации, если он есть, загружается первым; если он устанавливает inhibit-default-init в значение, отличное от nil, то Emacs не загружает файл default.el впоследствии. В пакетном режиме или если вы указываете «-q» (или «-Q»), Emacs не загружает ни ваш личный файл инициализации, ни файл инициализации по умолчанию.
Другой файл для настройки сайта — site-start.el. Emacs загружает этот файл до файла инициализации пользователя. Вы можете запретить загрузку этого файла с помощью опции «--no-site-file».
Эта переменная указывает файл настройки сайта, который загружается до файла инициализации пользователя. Ее нормальное значение — «"site-start"». Единственный способ изменить его с реальным эффектом — сделать это до дампинга Emacs.
См. Примеры файлов инициализации в Руководство GNU Emacs, чтобы увидеть примеры того, как выполнить различные общежелательные настройки в вашем файле .emacs.
Если эта переменная не равна nil, она не позволяет Emacs загружать библиотечный файл инициализации по умолчанию. Значение по умолчанию — nil.
Этот обычный хук выполняется один раз непосредственно перед загрузкой всех файлов инициализации (site-start.el, ваш файл инициализации и default.el). (Единственный способ изменить его с реальным эффектом — сделать это до дампинга Emacs.)
Этот обычный хук выполняется один раз непосредственно после загрузки всех файлов инициализации (site-start.el, ваш файл инициализации и default.el), перед загрузкой библиотеки, специфичной для терминала (если запуск происходит в текстовом терминале) и обработкой аргументов командной строки.
Этот обычный хук выполняется один раз непосредственно после обработки аргументов командной строки. В пакетном режиме Emacs не выполняет этот хук.
Этот обычный хук очень похож на emacs-startup-hook. Единственное отличие в том, что он выполняется немного позже, после установки параметров фрейма. См. window-setup-hook.
Эта переменная содержит абсолютное имя файла файла инициализации пользователя. Если загруженный фактический файл инициализации является скомпилированным файлом, таким как .emacs.elc, значение относится к соответствующему исходному файлу.
Эта переменная содержит имя каталога по умолчанию для Emacs. По умолчанию это ${XDG_CONFIG_HOME-'~/.config'}/emacs/, если этот каталог существует, и ~/.emacs.d/ и ~/.emacs не существуют, в противном случае — ~/.emacs.d/ на всех платформах, кроме MS-DOS. Здесь ${XDG_CONFIG_HOME-'~/.config'} означает значение переменной окружения XDG_CONFIG_HOME, если эта переменная установлена, и ~/.config в противном случае. См. Как Emacs находит ваш файл инициализации в Руководство GNU Emacs.