Где находится файл .emacs?

26

Я скачал Emacs 23.1 с FTP-сайта GNU. Я разобрал его и собрал после настройки.

Я не нахожу файл .emacs в моем домашнем каталоге или где-либо еще в моей системе! Я что-то пропустил?

Питер Мортенсен
источник

Ответы:

22

Или, как гораздо более простой способ (как указано в комментарии), Ctrl+ H, v(description-variable) вызовет хороший вывод, описывающий переменную и ее значение, например, так:

    user-init-file is a variable defined in ‘C source code’.
    Its value is
    "/home/.emacs"

Документация:
Имя файла, включая каталог, файла инициализации пользователя. Если загруженный файл имеет расширение «.elc» и соответствующий исходный файл существует, эта переменная содержит имя исходного файла, подходящее для использования такими функциями, как «custom-save-all», которые редактируют файл инициализации. В то время как Emacs загружает и оценивает файл инициализации, значением является реальное имя файла, независимо от того, имеет ли он расширение & lsquo'.elc '.

Этот способ довольно многословен. Более краткий ответ - запустить emacs и в буфере оценки Lisp набрать user-init-fileи нажать Ctrl+ Jдля оценки. Это распечатает, где находится ваш файл инициализации, вот так:

user-init-file
"/home/.emacs"
Джефф Фостер
источник
5
Ctrl-H v (description-variable) для просмотра переменной.
StarBlue
Как вызывается оценочный буфер Lisp?
Питер Мортенсен
12

Вы должны создать файл, если хотите настроить Emacs. Вы можете просто создать его и начать взламывать файл вручную или использовать M-x customizeи сохранить настройки.

kjfletch
источник
4

См InitFile главу в EmacsWiki.

Ваш файл инициализации содержит личный код EmacsLisp, который вы хотите выполнить при запуске Emacs.

  • Для GnuEmacs это ~/.emacsили _emacsили или ~/.emacs.d/init.el.
  • Для XEmacs это ~/.xemacsили ~/.xemacs/init.el.
  • Для AquamacsEmacs это ~/.emacsили~/Library/Preferences/Aquamacs Emacs/Preferences.el
Тёрёк Габор
источник
1
Габор, в чем здесь разница между типами файлов? У меня есть .emacs.d/. Должен ли я сделать init.elфайл здесь, в этом каталоге? Имеет ли значение каталог как место размещения?
Васс
1

Вы проверяли, что ни нет, .emacsни .emacs.d/init.elсуществует? Потому что последний, кажется, становится все более и более стандартным (на один файл меньше ~).

quazgar
источник
1
Что произойдет, если вы положите его в неправильном месте? каталог произвольный?
Васс
1

В Windows файл .emacs может называться _emacs для обратной совместимости с файловыми системами DOS и FAT, где имена файлов не могут начинаться с точки. Некоторые пользователи предпочитают продолжать использовать такое имя, потому что Explorer не может создать файл с именем, начинающимся с точки, даже если файловая система и большинство других программ могут обрабатывать его. В Emacs 22 и позже, файл инициализации может также называться .emacs.d / init.el . Многие другие файлы, созданные пакетами lisp, теперь также хранятся в каталоге .emacs.d, поэтому все ваши файлы, связанные с Emacs, хранятся в одном месте.

источник: http://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html#Init-file

SiVi
источник
так что каталог initфайла это просто соглашение? Просто стандарт, который автоматически просматривает emacs, и вы вносите свой личный выбор в файл команд lisp для настройки emacs ?
Васс
В Windows 10 я обнаружил, что он находится в двух разных каталогах на двух разных компьютерах: «C: \ Users \ username \» на одном и в «C: \ Users \ username \ AppData \ Roaming \» на другом.
Кирилл Юнусов
0

Ты должен попробовать ls -a.

ََََََََ

Remo.D
источник
1
Кроме того: вы пробовали запустить Emacs один раз, прежде чем ожидать файл конфигурации в вашем доме?
Джои
В каком контексте? В командной строке (какой рабочий каталог)? Изнутри Emacs?
Питер Мортенсен
0

Простой ответ Вы должны начать писать некоторый код в Emacs, прежде чем файл .emacs появится в вашем домашнем каталоге. Напишите небольшой привет, World! S и простой математический код, скомпилируйте и запустите.

Затем снова посмотрите в дом, и введите, ls -aи вы увидите это. Затем отредактируйте его и наберите gedit .emacs. Я использую gedit, потому что я чувствую себя странно, редактируя Emacs с помощью Emacs.

бритва
источник
Зачем вам использовать что-то кроме Emacs для редактирования файла кода elisp? Вы всегда можете запустить новый экземпляр ( emacs -qесли ваш файл инициализации не работает, и вам нужно его обойти). Кроме того, для Emacs не требуется создавать файл инициализации для вас. Вы можете пойти дальше и создать его вручную; Emacs по-прежнему будет его использовать.
phils
0

Как и другие программы, вы можете скопировать /etc/[what file do you want]в свой домашний каталог, который ваша система использует для своих настроек.

GmArian
источник