Ответ 1
Используемый файл init хранится в переменной 'user-init-file'. Чтобы увидеть это, используйте "описать-переменную" (C-h v), введите "user-init-file" и отобразите используемый файл.
Как мне получить emacs, чтобы сообщить мне местоположение загруженного им файла .emacs?
Моя ситуация просто, когда я делаю sudo emacs
, она загружает совсем другой файл .emacs, чем тот, который находится в моем домашнем каталоге. Я могу обойтись, выполнив M-x eval-buffer
в своем собственном файле .emacs, но это много дополнительных шагов, плюс он, похоже, не очищает тупые привязки во всех файлах .emacs. Во всяком случае, я просто хотел бы найти файл .emacs и удалить некоторые привязки незнакомец (c-n, c-p, c-a все отскок от странных вещей)
Мой главный вопрос по-прежнему: как я могу получить emacs, чтобы указать местоположение загруженного им файла .emacs?
Используемый файл init хранится в переменной 'user-init-file'. Чтобы увидеть это, используйте "описать-переменную" (C-h v), введите "user-init-file" и отобразите используемый файл.
Вы можете попробовать посмотреть, какой файл найден:
C-x C-f ~/.emacs RET
~
преобразуется в значение переменной среды HOME
. Emacs ищет .emacs
, затем .emacs.elc
(байтовая скомпилированная версия), затем .emacs.el
, затем ~/.emacs.d/init.elc
и ~/.emacs.d/init.el
. В этой документации показаны альтернативы. Это также зависит от переменных окружения LOGNAME
и USER
.
Вы также можете проверить содержимое буфера *Messages*
, хотя вы должны установить (setq message-log-max t)
(если можете), чтобы обеспечить сохранение всех сообщений. Внутри этого буфера есть строки, которые выглядят так:
Загрузка/home/tjackson/.emacs.tjackson.el(источник)...
который покажет, какие файлы были загружены.
Вы также должны проверить документацию Find-Init, в которой показано еще больше файлов, которые могут быть загружены как site-start.el
, а также конкретные терминалы инициализация (новая для меня).
Если вы находитесь в Linux, вы можете попробовать это, чтобы посмотреть, какие файлы открываются emacs при запуске.
sudo strace -o /tmp/emacs.txt -e open emacs