Вопрос по – домашний каталог и файл .emacs в Windows 7

12

Я установил emacs 23.3.1 в c: /emacs-23.3. Следуя подсказкам вэта страницаЯ обновил site-start.el, чтобы установить переменную среды HOME.

<code>(setenv "HOME" "c:/users/USER/emacs")
</code>

И я сделал c: /users/USER/.emacs (как я это делал в unix / mac), чтобы написать код для использования слизи, но он, похоже, не запускает слизь правильно.

Это правильный способ установки Emacs в Windows 7? Куда мне положить файл .emacs?

Ваш Ответ

8   ответов
0

/users/USER/.emacs, вам следует установить для переменной HOME значение c: / users / USER, а не c: / users / USER / emacs.

21

Вам нужно установитьHOME в переменных окружения в настройках компьютера (если я правильно помню) или поместите файл инициализации в каталог по умолчанию (просто запустите Emacs и нажмитеC-x C-f ~/ чтобы увидеть, что является актуальным каталогом). И, как я помню, в Windows файл инициализации можно было назвать_emacs...

Изменение переменной HOME потенциально может повлиять на все другие установленные приложения, поэтому это не кажется хорошим решением.
Насколько я знаю, ранее существовавшей переменной HOME не было. Я только что сделал это несколько дней назад, и, кажется, все в порядке.
Я поймал части обсуждения re: _emacs. Я решил пойти с переименованием из командной строки cmd, находясь в каталоге,ren _emacs .emacs.
0

которые обнаруживаются при щелчке правой кнопкой мыши исполняемого файла в вашей системе Windows. Там вы можете определить

execution-directory, e.g. "C:\Users\loggedin_user\" (in parantheses)

where emacs executes

and looks for the .xemacs (.emacs) directory, where it find its init.el.

And where you can define the startup instructions (like (setenv "HOME" "c:/Users/Username/") ) etc.

Если вы сконфигурируете это, в следующий раз emacs запустится из каталога, который вы определили, с файлом инициализации

1

& # x43E; & # x43C; & # x430; & # x43D; ответ & # x417; & # x445; & # x430; & # x440; & # x43E; & # x432 ;, который кажется хорошим для поддержания кроссплатформенной конфигурации, но не сработал.

Это то, что, наконец, работаешь для меня.

(when (eq system-type 'windows-nt)
  (setenv "Home" (getenv "UserProfile")))
12

и это очень хорошо работает для меня:

Создайте командный файл в корне вашего каталога emacs. Например, я создал:

C:\Dropbox\PortableApps\emacs-24.3\run_emacs_portable.bat

Затем отредактируйте файл и вставьте в него этот текст:

set HOME=.\
bin\runemacs.exe %*

Теперь я просто запускаю Emacs черезrun_emacs_portable.bat Файл и моя папка HOME всегда указывают на мою папку установки emacs.

% * Позволяет передавать аргументы в файл .bat и пересылать их в runemacs.exe.

Я думал о создании файла .bat, который бы добавил HOME =. \ В систему, чтобы я мог просто использовать стандартный .exe на всех своих системах после выполнения .bat. Я пробовал setx -m, но, похоже, он работает не очень хорошо. Есть ли у вас какие-либо подсказки, как я могу заставить его работать?
Вы должны добавить%* послеrunemacs.exe выдвигать аргументы и уметьOpen With портативный Emacs.
@EivindDahl Когда запускается файл .batset HOME=.\  он изменяет переменную среды только для этого экземпляра оболочки. Если дважды щелкнуть командный файл, то будет запущена новая оболочка (cmd.exe).HOME значение изменяется, а затем оболочка закрывается. Вот почему это решение имеет вызовset HOME=.\  происходит в том же файле .bat, что и вызовrunemacs.exe, когдаrunemacs.exe выполняется из файла .bat, значениеHOME для бегущей оболочки.\ .
Спасибо, я добавил в ваше предложение! Отличная идея.
1

\ Users \ User \ .emacs.d), просто добавьте этот код в текущий файл инициализации и перезапустите Emacs.

(when (eq system-type 'windows-nt)
  (unless (getenv "Home")
    (shell-command (format "setx \"%s\" \"%s\"" 'Home (getenv "UserProfile")))))
0

M-x pwd и это покажет вам, где вы находитесь в дереве файлов Windows. Вы можете поставить свой.emacs там.

1

и вы можете сделать init.el в качестве файла запуска. Также обратитесь к этомувопрос.

Похожие вопросы