我经常遇到以下流行的 emacs 构建:
目前我正在运行一个自定义配置,但我想在不破坏我当前的
~/.emacs.d
的情况下试验这些构建。 .这是我当前安装的一些背景:
我通过 Homebrew 安装了 Emacs,所以它位于:
/usr/local/Cellar/emacs/HEAD/Emacs.app
我当前的 emacs 版本是:GNU Emacs 24.3.50.1 (i386-apple-darwin13.0.0, NS apple-appkit-1265.00)
基本上,这就是我想知道的:
最佳答案
( 编辑: 我已经将这种方法封装到一个 shell 脚本中,我已经添加到了 EmacsWiki 中。)
我倾向于使用 $HOME
环境变量:
.emacs.d
将用作替换的目录 $HOME
对于那个分布。即/path/to/(distribution)/.emacs.d
:$ git clone https://github.com/bbatsov/prelude.git ~/emacs/prelude/.emacs.d
$ git clone https://github.com/overtone/emacs-live.git ~/emacs/emacs-live/.emacs.d
env
启动 emacs设置HOME
该命令的本地环境变量:$ env HOME=$HOME/emacs/prelude emacs
$ env HOME=$HOME/emacs/emacs-live emacs
它们不应该相互交互,因此您可以一起运行它们并拥有多个并排的 emacs 实例,每个实例使用不同的配置。
我看到 Graphite 烯实际上是一个ELPA包,所以它没有
init.el
文件,需要通过包管理器安装;但是您仍然可以使用相同的技术在单独的干净配置中安装它:只需创建与其他目录结构类似的目录结构,然后创建一个包含 Graphite 烯安装说明中的代码的 init.el 文件(例如 ~/emacs/graphene/.emacs.d/init.el
),然后运行 emacs(例如 env HOME=$HOME/emacs/graphene emacs
),并完成安装说明的其余部分。这种技术的缺点是 Emacs 不会看到所有其他点文件(因为它会在
$HOME
中查找),因此从 Emacs 中运行其他进程不一定能正常工作;但如果您只是在试验,这不太可能是一个大问题,并且您始终可以符号链接(symbolic link)或复制您需要的位。您甚至可能更喜欢这种方式——好处是,如果您正在试用的发行版中的任何内容将文件写入主目录,它不会破坏您的真实文件。
在将 Emacs 升级到新版本时,这也可能是一种有用的方法(如果您可以同时运行旧版本和新版本),因为您可以设置现有配置的副本以与新 Emacs 一起使用,直到您再次确信一切正常,您可以编辑新配置而不会破坏现有配置。或者翻转它,而是将原始配置保留在新/备用位置,以防您需要它作为备份。
关于emacs - 如何使用不同的配置启动 emacs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568042/