Я предполагаю, что ваша конечная цель - запустить Emacs с USB-накопителя, который вы можете носить с собой. Есть два способа, чтобы иметь Emacs начать с другим файлом инициализации:
(1) -q --load путь
Это просто запустить
emacs -q --load path-to-your-init.el
, который начинается Emacs без любая инициализация, затем загружает path-to-your-init.el
Gotchas этого способа: в этом случае Emacs на самом деле не рассматривает файл el как файл инициализации, по сути, Emacs не ушел через инициализацию вообще, что означает следующие шаги после инициализации пропускаются:
стимулирующих пакетов, то есть, оценка (package-initialize)
работает крюк after-init-hook
, то есть оценки (run-hooks after-init-hook)
Вы, возможно, придется добавить после инициализации в альтернативном файле инициализации.
Кроме того, интерфейс настройки не позволит вам сохранять настройки, если Emacs запущен с опцией -q
.
(2) Начальный путь
Создать мой-emacs.bat с содержимым:
set HOME=%~dp0
C:\path-to-your\Emacs\bin\runemacs.exe --xrm "emacs.Background: light green"
При нажатия на этом летучую мыши файл, Emacs создает папку с именем .emacs.d
не в вашем обычном пользователе но где находится файл bat. Вы можете разместить свой собственный init.el
в папке .emacs.d
. С помощью этого Emacs, оценивая (find-file "~/.emacs.d/init.el"), открывается собственный переносимый init.el
, а не файл инициализации в вашем обычном каталоге пользователей.Вы можете удалить часть --xrm "emacs.Background: light green"
, я включаю это, потому что я всегда забываю, что такое Emacs.
Gotchas: этот Emacs имеет свой собственный каталог пакетов в своем собственном каталоге .emacs.d
. Это может быть или не быть тем, что вы хотите. Если вы хотите предоставить общий доступ к каталогу пакетов, вы можете изменить package-user-dir
или создать символическую ссылку в каталог с разделяемыми пакетами, используя расширение командной строки.
Somethings рассмотреть для запуска Emacs на диске USB:
Emacs аутсорсинг некоторые из его особенностей внешних инструментов. Grepping и сравнение передаются на grep и diff, поэтому вы, вероятно, установили, по крайней мере, GnuWin32 Grep и GnuWin32 DiffUtils в вашей системе. И часть проверки орфографии передается на аутсорс, которая также является отдельной установкой. Шифрование передается на GPG, поэтому Gpg4Win - другая отдельная установка. Чтобы ваши портативные Emacs имели все эти функции, все эти внешние инструменты также должны быть на вашем USB-накопителе. К счастью, GnuWin32 и aspell являются портативными. Я не знаю, есть ли GPG. Зависимость от внешнего grep может быть устранена, если вам удастся сделать версии lgrep и rgrep, которые зависят только от собственной grep от eshell, но, похоже, никто этого не сделал, поэтому сделать такой lgrep/rgrep смело идти туда, куда никто не ходил раньше ,
'Недопустимое имя пользователя' должно давать подсказку! – devnull