Где я могу найти файл .emacs для Emacs, запущенного в Windows?

Я пробовал искать файл .emacs для моей установки Windows для Emacs, но я не смог его найти. Имеет ли тот же файл под Windows, что и в Unix?

Должен ли я сам создать его? Если да, то в какой конкретной директории это происходит?

Ответ 1

Скопируйте и вставьте в Emacs FAQ, http://www.gnu.org/software/emacs/windows/:

Где я могу поместить свой файл инициализации?

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

Все файлы, упомянутые выше, должны войти в ваш каталог HOME. Каталог HOME определяется следующим образом:

  1. Если задана переменная среды HOME, используйте указанную в ней директорию.
  2. Если установлен параметр реестра HKCU\SOFTWARE\GNU\Emacs\HOME, используйте указанный в нем каталог.
  3. Если задана запись реестра HKLM\SOFTWARE\GNU\Emacs\HOME, используйте каталог, который он указывает. Не рекомендуется, так как это приводит к тому, что пользователи используют один и тот же каталог HOME.
  4. Если существует C:\.emacs, используйте C:/. Это относится к обратной совместимости, поскольку предыдущие версии по умолчанию были установлены в C:/ если HOME не был установлен.
  5. Используйте каталог пользователя AppData, обычно каталог под названием Application Data в каталоге профиля пользователя, местоположение которого зависит от версии Windows и того, является ли компьютер частью домена.

В Emacs ~ в начале имени файла расширяется в ваш каталог HOME, поэтому вы всегда можете найти файл.emacs с Cx Cf ~/.emacs.

Там есть дополнительная информация в каталогах HOME и Startup на MS-Windows.

Ответ 2

Он должен храниться в переменном user-init файле. Используйте C-H v user-init-file RET для проверки. Вы также можете открыть его напрямую, используя M-x eval-expression RET (find-file user-init-file) RET

Ответ 3

Откройте файл, подобный этому в Emacs для Windows:

C-x C-f ~/.emacs

Дополнительная информация в Emacs Wiki

Ответ 4

В моем окне Vista он находится в C:\Users\<USER>\AppData\Roaming\

Ответ 5

Обратите внимание, что не может быть достаточно просто набрать Ctrl-x Ctrl-f ~/.emacs и создать файл.

Возможно, ваше приложение Emacs использует другое место для хранения файла инициализации, и если это так, то создание файла ~/.emacs просто создает бесполезный файл, который игнорирует ваше приложение Emacs.

Кроме того, вы можете сделать больше, чем просто доступ к init файлу .emacs, но вы можете знать, где он находится, т.е. его путь.

Для этого есть два метода:

Простой способ: введите Ctrl + H V user-init-file Return

Немного сложнее: Вы можете узнать, где ваша система хранит собственный файл .emacs:

  • Нажмите "Параметры" и прокрутите вниз до "Установить шрифт по умолчанию..."
  • Измените настройку шрифта и нажмите "ОК"
  • В меню параметров перейдите к "Сохранить параметры"
  • Когда параметры сохранены, система сохраняет файл .emacs, и вы можете прочитать путь к файлу в минибуфере в нижней части экрана Emacs.

Ответ 6

В Windows 7 поместите ваш init.el файл в C:\Users\user-name\AppData\Roaming\.emacs.d\, где имя пользователя является вашей папкой пользователя/входа.

Позаботьтесь, чтобы ваш файл init.el не назовался init.el.txt. Это то, что делает Windows, если вы создаете свой файл с помощью какого-то редактора, такого как Блокнот.

Ответ 7

В версиях Emacs в Windows выше 22 он, кажется, переместился на

~/.emacs.d/init.el

~ является значением переменной среды HOME (см. Панель управления → Система → Дополнительно → Переменные среды).

Сам файл может не существовать. В этом случае просто создайте его.

Ответ 8

В Emacs 23 и Windows 7 он работает только если вы установили:

HKCU\SOFTWARE\GNU\Emacs\HOME

Ответ 9

Как сказал kanja, путь к этому файлу сохраняется в переменной user-init-file (или если файл инициализации не существует, переменная содержит значение по умолчанию для того, где его создавать).

Поэтому, независимо от того, какие из возможных имен файлов инициализации вы используете, и в каком каталоге он находится, вы можете посетить свой файл инициализации с помощью

M-: (find-file user-init-file) RET

Или отобразите полный путь в области эха с помощью:

M-: (expand-file-name user-init-file) RET

Ответ 10

В Windows XP это:

C:\Documents and Settings\yourusernamehere\Application Data\

Ответ 11

Я обнаружил, что Emacs 22 будет иногда открывать либо "C:\Documents and Settings\username\Application Data \.emacs", либо просто "C:\Documents and Settings\имя_пользователя \.emacs" на моей машине XP, Я не нашел объяснения, почему это время от времени меняет его.

~ всегда укажет на то, что текущий экземпляр emacs считает HOME, но подсказка kanja (C-h v user-init-file) всегда скажет вам, что на самом деле отображает ~/.emacs.

Ответ 13

В Windows 8.1, если Emacs запущен из Проводника Windows, ярлыка или из консоли cmd, он использует файл инициализации C:\Users\<USER> \AppData\Roaming.emacs. Когда я запускаю Emacs из PowerShell, Emacs ищет свой файл инициализации в C:\Users\<USER> папка. Исправление этой проблемы состояло в том, чтобы установить переменную пользовательской среды HOME (Control Panel\System и Security\System- > Advanced system settings- > Advanced- > Environment) в C:\Users\<USER> . После этого изменения, независимо от того, как я запускаю Emacs, он использует один и тот же файл инициализации (см. Принятый ответ этого question)

Ответ 14

Вы должны создать файл инициализации emacs. Один из них не создается автоматически. У меня была аналогичная проблема, и этот ответ отслеживает то, что я сделал.

Моя проблема была в том, что мой файл ~/.emacs.el не загружался. Странно, потому что это всегда срабатывало для меня.

Этот вопрос/ответ помог мне, но мне пришлось поместить файл инициализации в %USERPROFILE%\AppData\Roaming\.emacs.d\init.el потому что это, по-видимому, поведение по умолчанию в Windows.

Чтобы устранить эту проблему, я запустил следующее в буфере * emacs * scratch *.

user-emacs-directory
"~/.emacs.d/"

Когда я увидел user-emacs-directory ~/.emacs.d, я просто переместил файл.emacs.el в %USERPROFILE%\.emacs.d\init.el Но это все еще не сработало. Я продолжал с expand-file-name как показано ниже:

(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"

Полюбоваться, как работает Windows. (не) Итак, я переместил файл emacs.el в %USERPROFILE%\AppData\Roaming\.emacs.d\init.el и это сработало. Файл теперь читается. Но у меня появились другие ошибки, потому что мой файл инициализации загружал другие (личные emacs) файлы (в ~/myenv/emacs/*.el.

Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el:

Hum... Похоже, что все мои файлы ~/myenv/emacs/*.el должны быть перемещены, чтобы это работало, но я не хотел этого делать. Затем я понял, что поскольку переменная среды HOME не была установлена, emacs выполнял свое поведение по умолчанию.

РЕШЕНИЕ

Как только я установил переменную окружения Windows HOME в %USERPROFILE% все стало работать так, как в последние 25 лет. :-)

Чтобы установить переменную среды HOME, я набрал WindowsKey+ "изменить переменные среды для вашей учетной записи", чтобы открыть диалоговое окно "Переменные среды", и ввел HOME=%USERPROFILE%.

Теперь мой файл инициализации emacs.emacs.el вернулся в свое законное место $HOME/.emacs.el а не в %USERPROFILE%\AppData\Roaming\.emacs.d\init.el

Справедливости ради следует отметить, что если Windows имеет только одно место для размещения файлов для установленных пользователем пакетов, решение сделать HOME = %USERPROFILE\AppData\Roaming может быть приемлемым, но поскольку некоторые приложения используют %USERPROFILE%, некоторые используют %USERPROFILE\AppData\Roaming и другие используют %USERPROFILE\AppData\Local это просто затрудняет знать, где найти файлы конфигурации.

Я предпочитаю иметь все в моем каталоге% USERPROFILE% или $ HOME.

Другой подобный вопрос был здесь: