Подтвердить что ты не робот

Как узнать, какой файл .emacs был загружен?

Как мне получить emacs, чтобы сообщить мне местоположение загруженного им файла .emacs?

Моя ситуация просто, когда я делаю sudo emacs, она загружает совсем другой файл .emacs, чем тот, который находится в моем домашнем каталоге. Я могу обойтись, выполнив M-x eval-buffer в своем собственном файле .emacs, но это много дополнительных шагов, плюс он, похоже, не очищает тупые привязки во всех файлах .emacs. Во всяком случае, я просто хотел бы найти файл .emacs и удалить некоторые привязки незнакомец (c-n, c-p, c-a все отскок от странных вещей)

Мой главный вопрос по-прежнему: как я могу получить emacs, чтобы указать местоположение загруженного им файла .emacs?

4b9b3361

Ответ 1

Используемый файл init хранится в переменной 'user-init-file'. Чтобы увидеть это, используйте "описать-переменную" (C-h v), введите "user-init-file" и отобразите используемый файл.

Ответ 2

Вы можете попробовать посмотреть, какой файл найден:

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, а также конкретные терминалы инициализация (новая для меня).

Ответ 3

Если вы находитесь в Linux, вы можете попробовать это, чтобы посмотреть, какие файлы открываются emacs при запуске.

sudo strace -o /tmp/emacs.txt -e open emacs