2014-02-14 3 views
2

У меня есть мой init.el, который хранится здесь: ~/Dropbox/workspaces/emacs/.emacs.d/init.el, но когда я запускаю emacs (т. Е. Вводя emacs в терминал), я получаю только emacs по умолчанию. Я попытался создать файл «.desktop», показанный ниже, но он не имеет никакого эффекта.Emacs: Запуск Emacs с init.el в папке Dropbox

Когда я запустил /usr/bin/emacs24 %F -q --load /home/lucas/Dropbox/workspaces/emacs/.emacs.d/init.el с терминала, мой init.el загружается правильно.

Как я могу запустить emacs легко и получить свой init.el для загрузки из моего места Dropbox? Я запускаю Ubuntu 13.10 (я пробовал просить об этом на AskUbuntu, но никаких ответов).

[email protected]:~$ whereis emacs24 
emacs24: /usr/bin/emacs24 /etc/emacs24 /usr/bin/X11/emacs24 /usr/share/emacs24 /usr/share/man/man1/emacs24.1.gz 

[email protected]:~$ cat .local/applications/emacs24.desktop 
[Desktop Entry] 
Version=1.0 
Name=GNU Emacs 24 
GenericName=Text Editor 
Comment=View and edit files 
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; 
Exec=/usr/bin/emacs24 %F -q --load /home/lucas/Dropbox/workspaces/emacs/.emacs.d/init.el 
TryExec=emacs24 
Icon=emacs24 
Type=Application 
Terminal=false 
Categories=Utility;Development;TextEditor; 

ответ

6

Место фиктивный файл инициализации в ваш $ HOME каталог, в ~/.emacs со следующим содержимым:

(setq user-emacs-directory (expand-file-name "~/Dropbox/workspaces/emacs/.emacs.d/")) 
(load (locate-user-emacs-file "init.el")) 

Это позволит не только загрузить конфигурацию из Dropbox, но и сделать различные пакеты Emacs сохранить свои кэши и истории к вашему Dropbox. Например, если вы используете savehist, у вас будет своя история минибуферов с помощью Dropbox.

+0

Спасибо, это работает для меня. Это тоже просто. – modulitos

+0

Если вы работаете в Windows, вам нужно добавить среду HOME для расширения тильды (например, я установил HOME на «C: \ Users \ David.Sharpe»). После этого не забывайте, что файл инициализации «фиктивный» должен быть помещен в ваш новый домашний каталог, а не в «AppData \ Roaming» или где бы он ни был. Кроме того, вы можете просто установить HOME как ваш каталог Dropbox, но я предпочитаю, чтобы это был мой пользовательский дом. – DavidS

1

Когда я строю Emacs из источника, мой следующий шаг, чтобы создать файл под названием site-start.el и я поместить его в lisp каталоге новопостроенном Emacs - например, .../lisp/site-start.el - содержимое файла site-start.el будет так:

(load-file "/home/lucas/Dropbox/workspaces/emacs/.emacs.d/init.el") 

Если вы используете сборку Emacs, который уже имеет site-start.el, а затем просто добавить код выше в нижней части этого файла.

+0

Это почти сработало, но я получил следующую ошибку при загрузке файла «.el» из Dropbox: «Неустранимая ошибка макрообмена: (ошибка« Автозагрузка не смогла определить функцию defadvice ») Не удается открыть файл нагрузки: совет '- По какой-то причине работает выбранный выше ответ. – modulitos