2017-06-17 34 views
1

我在我的机器上安装了emacs24和emacs25。我想用emacs24使用spacemacs并保留emacs25 ...以及...作为emacs。当我安装spacemacs时,我的〜/ .emacs和〜/ .emacs.d被改变了。这两个emacs开始使用spacemacs,我不想要。有没有办法同时拥有spacemacs和emacs?试图寻找解决方案,并遇到了解决方案,以保持单独的配置文件。但是如何让emacs寻找一个特定的配置文件。顺便说一句,如果你还没有猜到......我是一个小菜鸟。有两个emacs。想要使用一个spacemacs并保持其他原理

+0

emacs -l/path/to/config? – bertfred

+0

我觉得这是https://emacs.stackexchange.com/q/4253的重复 – phils

回答

1

在一个层面上,这很容易做到。但是,另一方面,可能会出现一些问题,具体取决于您真正想做什么。

Emacs支持命令行开关-l告诉emacs在哪里可以找到配置文件 。因此,从一个非常简单的角度来看,您可以创建两个包装 脚本my-spacemacs.sh和my-plainemacs.sh,并在其中脚本 使用特定的-l/path/to/config调用emacs。如果需要,您可以通过$ *来获取其他 命令行参数。

这种方法的潜在问题是,emacs的仍将使用.emacs.d 来存储各种其他信息,包括可能ELPA包和 这可能会导致问题。为了更安全,最好将事情完全分开。

如果您不需要在同一时间运行两个版本,最简单的办法是 有分开的目录,如〜/ .spacemacs-emacs.d和〜/纯emacs.d 和然后有一个名为.emacs.d的sym链接,它指向要运行的 版本中的任何一个。这种方法的两个主要问题是,如果您想要同时运行两个版本,则无论何时您想要更改emacs风格和 ,您都需要重置符号链接,否则这将不起作用。

我想我们真的需要知道您的实际使用案例 - 为什么您需要两个不同的配置?了解这可能有助于确定更好的方法。

作为一个例子,我使用org模式和babel来管理我的emacs配置。我有一个 数量不同的版本和一个简单的脚本,我可以运行这些脚本来生成 任何想从不同组织文件中获得的init.el文件。我有一个minimal.org 文件,它具有最小的emacs配置我可以裸露,我有我的 标准init.org,它生成我的工作init.el,然后我有一个 experimental.org用于生成init.el文件,我用 试验新的配置或软件包。切换 配置是微不足道的,但我不需要在相同的 时间运行两种不同的配置。

我常常想看看一些其他预煮emacs的设置,如 spacemacs,前奏,等等这些,我只是抓住当前的Git版本,并使用 一个符号链接指向.emacs.d在git repo的根目录下,我想用 实验。

1

您还可以使用以下方法:

创建一个目录〜/ spacemacs。 提取/将spacemacs .emacs.d复制到〜/ spacemacs中(以便它是〜/ spacemacs/.emacs.d)。 创建一个名为Spacemacs(或菜单项)桌面链接并输入以下命令:

HOME=$HOME/spacemacs emacs 

您也可以从使用此命令shell启动spacemacs。 这样,您可以同时运行vanilla emacs和spacemacs,每个都有自己的配置目录和elpa存储库。唯一的缺点可能是您需要向上改变目录级别以达到真正的主目录,而不是通过变量设置的“虚假”目录级别。 顺便说一句,这是我如何运行多种emacs版本和配置,以满足各种需求。

+0

重新定义$ HOME将打破很多依赖于它的程序。 – xophos

相关问题