在计算机之间共享 .emacs。 Emacs 覆盖在我的 Dropbox 中硬链接的 .emacs

Sharing a .emacs between computers. Emacs overwrites .emacs that is hard linked in my Dropbox

我想将我的 .emacs 保存在我的 Dropbox 文件夹中,以便在工作和家庭之间同步它。

我将我的 .emacs 移动到我的保管箱文件夹,然后(硬)link像这样编辑它:
ln ~/Dropbox/.emacs ~/.emacs

然后如果我在 emacs 中打开 ~/.emacs,编辑并保存它,它会硬删除 .emacs link 并用新的 .emacs 覆盖它,这样 linkage 就消失了.我有两个单独的副本,一个较新的 ~/.emacs 和一个过时的 ~/Dropbox/.emacs。

我可以改为编辑 ~/Dropbox/.emacs 文件,但有时 emacs 会自行将某些内容写入 .emacs(比如自定义变量),然后问题再次出现。

如何让 emacs 不覆盖该特定文件?或者有没有办法启动 emacs 并告诉它从哪里读取 .emacs?

[编辑已解决]
有人发表了关于使用 soft-symlinks 而不是 hard-links 的评论。这实际上对我有用并解决了问题。但后来发帖的人不知为何又删了。 ~谢谢你是谁~

我改用软链接,解决了这个问题。

我衷心建议您将 emacs 配置文件放入 GIT 存储库。

我的所有 elisp 文件都有一个 github 存储库,这使我能够与任何计算机共享文件并跟踪更改。

另一个建议(我使用):让 ~/.emacs(或 ~/.emacs.d/init.el)对于您使用的每台计算机都不同。使用该文件设置与系统相关的路径——您的 Dropbox 目录的位置、diff 的路径、最适合该显示器的颜色等等。然后加载 (require) 一个包含所有常用(独立于系统)配置的通用文件。称它为“leo-init”或其他名称。

我衷心同意之前的建议,将您的 emacs 配置放入 git 存储库(或其他 vcs)。知道如果你搞砸了什么,你可以回到原来的样子,或者详细检查你到底改变了什么以及什么时候改变,这真是太安心了。