Я использую Linux Fedora 13 (Constantine) и emacs 23.1.1. Я пытаюсь настроить файл .emacs для инициализации, используя сам emacs для редактирования и сохранения файла .emacs в моем домашнем каталоге. Однако, хотя файл там есть, emacs, похоже, его не распознает. Что я делаю неправильно, и есть ли простой текст для .emacs, который покажет мне, используется ли он, такой, который будет отображать сообщение при запуске emacs?
решение1
Theфайл инициализациитрадиционно ~/.emacs
, но современные версии также смотрят наДругие названия. Может возникнуть путаница с тем, какой у вас домашний каталог (хотя на платформах unix его быть не должно; в основном это проблема под Windows); открытие ~/.emacs
внутри Emacs всегда правильно. После запуска Emacs проверьте сообщения в буфере *Messages*
. Убедитесь, что вы не запускаете Emacs с такими параметрами, -q
которые заставят его обойти ваш файл инициализации.
решение2
Вероятно, у вас ошибка в файле .emacs в вашем домашнем каталоге. Попробуйте открыть файл .emacs, а затем выполнить Mx eval-buffer RET, чтобы проверить, не появились ли какие-либо ошибки, которые вы могли пропустить. Emacs в любом случае запустит файл .emacs.
решение3
Если вы поместите что-то недопустимое в начало файла .emacs и emacs действительно это читает, я бы ожидал, что он даст сбой при запуске. Например, если я поместил строку, содержащую
Hello William
в первой строке моего .emacs программа выдает мне предупреждение
Symbol's value as variable is void: Hello
и не загружает оставшуюся часть файла.
Вы можете использовать strace
(или эквивалент Fedora, возможно, truss, dtruss и т. д.) для отслеживания системных вызовов и поиска мест, где emacs пытается открыть .emacs в выводе. Например, в оболочке bash:
strace emacs 2> strace-ouput.txt