Я попытался найти файл .emacs для моей установки Windows для Emacs, но не смог его найти. У него то же имя файла в Windows, что и в Unix?
Надо ли самому создавать? Если да, то в какой именно каталог он находится?
Скопируйте и вставьте из FAQ по Emacs, http://www.gnu.org/software/emacs/windows/ :
В Windows .emacs
файл может быть вызван _emacs
для обратной совместимости с файловыми системами DOS и FAT, где имена файлов не могут начинаться с точки. Некоторые пользователи предпочитают продолжать использовать такое имя, потому что Проводник Windows не может создать файл с именем, начинающимся с точки, даже если файловая система и большинство других программ могут его обработать. В Emacs 22 и новее также может быть вызван файл инициализации .emacs.d/init.el
. Многие другие файлы, созданные пакетами Lisp, теперь также хранятся в .emacs.d
каталоге, так что все ваши файлы, связанные с Emacs, хранятся в одном месте.
Все упомянутые выше файлы должны находиться в вашем HOME каталоге. Каталог HOME определяется следующим образом:
C:\.emacs
существует, то используйте C:/
. Это сделано для обратной совместимости, поскольку в предыдущих версиях по умолчанию использовалось значение C:/
HOME.В Emacs ~
имя файла в начале расширяется до вашего HOME каталога, поэтому вы всегда можете найти свой файл .emacs с помощью C-x C-f ~/.emacs
.
Дополнительную информацию можно найти в HOME и каталогах автозагрузки в MS-Windows .
Его нужно хранить в переменной user-init-file. Используйте
C-H v user-init-file RET
для проверки. Вы также можете открыть его напрямую, используяM-x eval-expression RET (find-file user-init-file) RET
источник
trailing garbage following expression
?Откройте файл в Emacs для Windows следующим образом:
Дополнительная информация в Emacs Wiki
источник
В моей коробке с Vista это
C:\Users\<USER>\AppData\Roaming\
источник
Обратите внимание, что может быть НЕ достаточно просто ввести
Ctrl-x Ctrl-f ~/.emacs
и создать файл.Возможно, ваше приложение Emacs использует другое место для хранения вашего файла инициализации, и если это так, то создание файла ~ / .emacs просто создает бесполезный файл, который ваше приложение Emacs игнорирует.
Кроме того, вы можете захотеть сделать больше, чем просто получить доступ к файлу инициализации .emacs, но вы можете захотеть узнать, где он находится, т. Е. Его путь.
Для этого есть два метода:
Простой способ: введите Ctrl+ H Vuser-init-fileReturn
Немного сложнее: узнать, где ваша система хранит собственный файл .emacs, можно:
источник
c:/Users/user1/AppData/Roaming/.emacs.el
. Этот сайт emacswiki.org/emacs/DotEmacsDotD помог мне понять, что мне нужно назвать файл,~/.emacs.d/init.el
что означает, что файл в файловой системе находится вc:\Users\user1\AppData\Roaming\.emacs.d\init.el
(совсем не то, что я ожидал). Я предпочитаю устанавливать переменную среды HOME и помещать файл в свой%USERPROFILE%
каталог, который является логическим каталогом HOME в Windows (по крайней мере, насколько мне известно).В Windows 7 поместите свой
init.el
файлC:\Users\user-name\AppData\Roaming\.emacs.d\
, где имя пользователя - это ваша папка пользователя / входа.Позаботьтесь о том, чтобы ваш
init.el
файл не был названinit.el.txt
. Это то, что делает Windows, если вы создаете файл с помощью какого-нибудь редактора, например Блокнота.источник
В версиях Emacs для Windows выше 22 кажется, что он переместился на
,
~
являясь значением переменной среды HOME (см. Панель управления → Система → Дополнительно → Переменные среды ).Сам файл может не существовать. В таком случае просто создайте его.
источник
Вы должны создать файл инициализации emacs. Один не создается автоматически. У меня была аналогичная проблема, и этот ответ отслеживает, что я сделал.
Моя проблема заключалась в том, что мой
~/.emacs.el
файл не загружался. Странно, потому что у меня это всегда срабатывало.Этот вопрос / ответ помог мне, но мне пришлось поместить свой файл инициализации в папку,
%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
потому что это, по-видимому, поведение по умолчанию в Windows.Чтобы устранить эту проблему, я выполнил следующее в буфере emacs * scratch * .
Когда я увидел
user-emacs-directory
это~/.emacs.d
, я просто переместил свой файл .emacs.el в%USERPROFILE%\.emacs.d\init.el
. Но это все равно не сработало. Я продолжил,expand-file-name
как показано ниже:Мне нравится, как работает Windows. (нет) Я переместил свой
emacs.el
файл в папку,%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
и это сработало. Теперь файл читался. Но у меня возникли другие ошибки, потому что мой файл инициализации загружал другие (личные emacs) файлы (в формате~/myenv/emacs/*.el
.Хм ... Похоже, все мои файлы
~/myenv/emacs/*.el
нужно переместить, чтобы это работало, но я не хотел этого делать. Затем я понял, что, поскольку переменная среды HOME не была установлена, emacs выполнял свое поведение по умолчанию .РЕШЕНИЕ
Как только я установил для своей
HOME
переменной среды Windows значение,%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.
Другой похожий вопрос был здесь:
источник
Как ответил канья, путь к этому файлу хранится в
user-init-file
переменной (или, если файл инициализации не существует, переменная содержит значение по умолчанию для того, где его создать).Итак, независимо от того, какое из возможных имен файлов инициализации вы используете и в каком каталоге он находится, вы должны иметь возможность посетить свой файл инициализации с помощью:
M-:
(find-file user-init-file)
RETИли отобразите его полный путь в эхо-области с помощью:
M-:
(expand-file-name user-init-file)
RETисточник
В Emacs 23 и Windows 7 это работает, только если вы установите:
источник
Я обнаружил, что Emacs 22 иногда открывает либо «C: \ Documents and Settings \ username \ Application Data \ .emacs», либо просто «C: \ Documents and Settings \ username \ .emacs» на моей машине XP. Я не нашел объяснения, почему он иногда меняет свое мнение.
~ всегда будет указывать на то, что текущий экземпляр emacs считает HOME, но подсказка kanja (Ch v user-init-file) всегда сообщит вам, чему на самом деле соответствует ~ / .emacs.
источник
HOME
переменную среды по-разному, в зависимости от того, как я начинаюrunemacs.exe
. Если я запустил его из проводника,HOME
будет установлено значениеC:\Documents and Settings\username
, но если я запустил его из меню «Пуск»,HOME
будетC:\Documents and Settings\username\Application Data
. Странный.В Windows XP это:
источник
Существует список каталогов на основе вашей версии Windows и дополнительной информации: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
источник
В Windows 8.1, если Emacs запускается из проводника Windows , ярлыка или из консоли cmd, он использует файл инициализации C: \ Users \ <USER> \ AppData \ Roaming.emacs . Когда я запускаю Emacs из PowerShell, Emacs ищет свой файл инициализации в папке C: \ Users \ <USER> . Исправление этой проблемы заключалось в установке переменной среды пользователя HOME (Панель управления \ Система и безопасность \ Система-> Дополнительные параметры системы-> Дополнительно-> Переменные среды) на C: \ Users \ <USER> . После этого изменения, независимо от того, как я запускаю Emacs, он использует один и тот же файл инициализации (см. Принятый ответ на этот вопрос )
источник
Для WIndows7 и Emacs26.3 :
если
HOME
задана среда, то.emacs
файл должен находиться в этой папке.в противном случае он должен быть в
c:\
.В обоих случаях, если
.emacs
его нет,_emacs
следует использовать.Это связано с тем, что мы не можем создать
.emacs
файл в соответствии с правилами именования файлов Windows (но мы можем загрузить или скопировать его из другого места).источник