面向产品经理的Emacs教程:26. 管理多套Emacs配置

· 1249字 · 3分钟

1 课程回顾 🔗

通过上节课的学习,我们了解到如何在 Emacs 里查阅单词,我们也可以通过 Org mode 的 Capture 机制来记录我们遇到的生词,时不时地看一看,温故而知新。

这节课,我们来学习如何管理多套 Emacs 配置。

2 场景描述 🔗

相信不少人会有类似下面这样的需求:

  • 日常使用时用一个主力配置的 Emacs,完成所有主要任务;
  • 在终端或者个别场景,用另外一个配置的 Emacs,核心在于更短的启动速度以及只加载一些核心插件;
  • 一个配置使用 straight.el 来管理包,另外一个配置使用 package.el 来管理包;
  • 临时需要启动一个不加载任何第三方包,但需要加载一些个性化配置的最小配置;

这就需要我们能在一台电脑上,随时根据需要,启动不同环境的 Emacs。

例如,我自己就有如下5个环境:

  • default: 默认的完整配置
  • mini: 只加载核心插件的配置
  • package: 使用 package.el 来进行包管理的配置
  • q: 不加载任何第三方插件的最小配置
  • scratch: 本教程配套的配置
图1 scratch环境的界面截图

图1  scratch环境的界面截图

图2 default环境的界面截图

图2  default环境的界面截图

3 chemacs2 🔗

我们通过 chemacs2 这个项目来达成这个目标。

3.1 安装chemacs2 🔗

3.1.1 第一步:将当前emacs配置目录改名 🔗

如果你是按照本系列教程来进行配置管理的话,你的配置文件目录为: ~/.emacs.d ,那我们需要将这个目录改一下名字,假设我们修改之后的目录为: ~/.emacs.d.default:

mv ~/.emacs.d ~/.emacs.d.default

3.1.2 第二步:克隆此项目 🔗

git clone https://github.com/plexus/chemacs2.git ~/.emacs.d

3.1.3 第三步:创建 ~/.emacs-profiles.el 🔗

创建 ~/.emacs-profiles.el 文本文件并填入如下内容,这段内容可以简单理解为:

  • default: 是这个配置的名称
  • 后面这个是 default 这个配置所在的目录
(("default" . ((user-emacs-directory . "~/.emacs.default"))))

3.1.4 第四步:启动 🔗

我们通过以下命令启动 default 这个配置的 Emacs:

emacs --with-profile default

3.2 新增新的环境 🔗

3.2.1 第一步:新建新环境所在的目录 🔗

假设我们需要新建一个环境 scratch ,第一步就是新建一个目录来装这个环境的相关配置文件,假设我们的文件夹是 ~/.emacs.d.scratch:

mkdir ~/.emacs.d.scratch

3.2.2 第二步:编辑 ~/.emacs-profiles.el 文件 🔗

我们在 ~/.emacs-profiles.el 文件里添加 scratch 环境的配置:

(("default" . ((user-emacs-directory . "~/.emacs.d.default")))
 ("scratch" . ((user-emacs-directory . "~/.emacs.d.scratch")))
 )

3.2.3 第三步:配置 scratch 环境 🔗

我们在 ~/.emacs.d.scratch 文件夹下,具体配置 scratch 这个环境,这个过程跟你单独配置一个全新的 Emacs 类似。拿我的目录为例,结构大概如下:

/Users/randolph/.emacs.d.scratch
├── README.org
├── config-mirror
├── early-init.el
├── elpa
├── emacs-config.org
├── etc
├── init.el
├── lisp
├── quelpa
├── reveal.js
└── var

8 directories, 4 files

你可以在这个目录下写 scratch 这个环境的配置,它不会影响你的 default 以及其他的环境。

3.2.4 第四步:启动 scratch 环境 🔗

我们通过下面的命令来启动 scratch 环境的 Emacs:

emacs --with-profile scratch

然后 Emacs 会以 ~/.emacs.d.scratch 目录下的配置来启动 Emacs,安装相应的插件。你相当于拥有了一个区别于 default 的一个单独的环境。

3.3 删除环境 🔗

删除环境就更加简单了,直接删除相应环境的配置目录以及在 ~/.emacs-profiles.el 里的配置行即可。

4 结语 🔗

通过今天的课程,我们学习了如何在 Emacs 里管理多套配置,你可以通过 chemacs2 来按照需要,在一台电脑上启动不同环境的 Emacs 配置来达到不同的目的。我们甚至可以将 emacs --with-profile default 配置为一个 alias ,这样启动将更加方便。

通过这个方法,我们可以创建一个不包含任何第三方插件的配置,方便我们安装和调试新的插件,完全不影响你的主力配置,也不会在你的主力配置文件夹下写入任何数据,不同环境的数据完全隔离。

恭喜你,又前往进了一大步!