Emacs:在Dropbox目录中使用init.el启动Emacs

Emacs:在Dropbox目录中使用init.el启动Emacs,emacs,ubuntu-13.10,Emacs,Ubuntu 13.10,我的init.el存储在这里:~/Dropbox/workspace/emacs/.emacs.d/init.el但是当我启动emacs时(即在终端中输入emacs),我只得到默认的emacs。我试图设置一个“.desktop”文件,如下所示,但没有效果 当我从终端运行/usr/bin/emacs24%F-q--load/home/lucas/Dropbox/workspace/emacs/.emacs.d/init.el时,我的init.el正确加载 如何轻松启动emacs并从Dropbox位

我的
init.el
存储在这里:
~/Dropbox/workspace/emacs/.emacs.d/init.el
但是当我启动emacs时(即在终端中输入
emacs
),我只得到默认的emacs。我试图设置一个“.desktop”文件,如下所示,但没有效果

当我从终端运行
/usr/bin/emacs24%F-q--load/home/lucas/Dropbox/workspace/emacs/.emacs.d/init.el
时,我的
init.el
正确加载

如何轻松启动emacs并从Dropbox位置加载我的
init.el
?我正在运行Ubuntu13.10(我试着在AskUbuntu上问这个问题,但没有回应)


当我从源代码构建Emacs时,我的下一步是创建一个名为
site start.el
的文件,并将其放置在新构建的Emacs的
lisp
目录中——例如,
../lisp/site start.el
——您的
site start.el
文件的内容如下:

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

如果您使用的Emacs版本已经有一个
site start.el
,那么只需将上述代码添加到该文件的底部。

将一个虚拟init文件放入$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共享您的微缓冲区历史记录。

这几乎奏效,但我在从Dropbox加载“.el”文件时遇到以下错误:
急切宏扩展失败:(错误“Autoloading未能定义函数defadvice”)无法打开加载文件:advice
-出于某种原因,上面选择的答案有效。如果您在Windows上,则需要添加一个主环境,以便平铺扩展工作(例如,我将主环境设置为“C:\Users\David.Sharpe”)。完成此操作后,不要忘记需要将“dummy”init文件放在新的主目录中,而不是放在“AppData\Roaming”或它以前所在的任何位置。或者,您可以将HOME设置为您的Dropbox目录,但我更希望它是我的用户主页。
(setq user-emacs-directory (expand-file-name "~/Dropbox/workspaces/emacs/.emacs.d/"))
(load (locate-user-emacs-file "init.el"))