Doomemacs: About An Emacs framework for the stubborn martian hacker.

Question

为什么要使用 Doomemacs?

  1. 它真的很快: 得益于它的结构设计和懒加载,比其他框架快很多;
  2. 比较接近原生: 接近原生的好处是上手更好理解和体验,不需要你过多了解框架的内容(spacemacs);

配置使用 chemacs2(可选但是推荐)

Chemacs2: Emacs version switcher, improved

Question

在安装使用之前,为什么要用 chemacs2?

chemacs2 可以很方便地在多个 Emacs profile 配置进行切换; 假定我们有一套不使用任何框架的原始配置(default profile); 一套 spacemacs 配置(spacemacs profile); 一套 doomemacs 配置(doomemacs profile):

# 1. 备份当前正在使用的配置,以 default profile 为例:
$ mv ~/.emacs.d ~/.emacs.default
 
# 2. 你可能原来使用了 spacemacs 配置,可以统一下风格,这里不是强制的
$ mv ~/.spacemacs.d ~/.emacs.spacemacs
 
# 3. 安装 chemacs2
$ git clone https://github.com/plexus/chemacs2.git ~/.emacs.d

编辑 ~/.emacs-profiles.el 进行配置:

(("default" . ((user-emacs-directory . "~/.emacs.default"))) ;; GUI 默认使用 default 配置
 ("spacemacs" . ((user-emacs-directory . "~/.emacs.spacemacs"))))

如果想支持多版本的 spacemacs,也可以这么配置:

;; 默认场景
(("spacemacs" . ((user-emacs-directory . "~/spacemacs")
                (env . (("SPACEMACSDIR" . "~/.spacemacs.d")))))
 
;; 使用开发版本,原配置
("spacemacs-develop" . ((user-emacs-directory . "~/spacemacs.develop")
                    (env . (("SPACEMACSDIR" . "~/.spacemacs.d")))))
 
;; 使用开发版本,开发配置
("spacemacs-dev" . ((user-emacs-directory . "~/spacemacs.develop")
                (env . (("SPACEMACSDIR" . "~/.spacemacs.d.dev"))))))

如何使用:

# 使用默认配置 default
$ emacs
 
# 指定配置,等效于上面
$ emacs --with-profile default
 
# 指定另外一套配置
$ emacs --with-profile spacemacs

安装 doomemacs

安装方式可以参考官方的: Doomemacs Install,根据个人习惯我进行了一些调整:

# clone the repo.
$ git clone --depth 1 https://github.com/doomemacs/doomemacs ~/dotfiles/doomemacs.d
# exports the bin path.
$ echo 'export PATH="$HOME/dotfiles/doomemacs.d/bin:$PATH"' >> ~/.aliases && source ~/.aliases
# install the deps.
$ doom install
$ mv ~/.doom.d ~/dotfiles/.doom.d
$ ln -s $HOME/dotfiles/.doom.d $HOME/.doom.d

添加如下内容到 ~/.emacs-profiles.el 中:

(("default"   . ((user-emacs-directory . "~/dotfiles/doomemacs.d/")))
 ("spacemacs"   . ((user-emacs-directory . "~/dotfiles/spacemacs.d/")))
 ("doom"   . ((user-emacs-directory . "~/dotfiles/doomemacs.d/")))
 ("legacy"   . ((user-emacs-directory . "~/dotfiles/.emacs.legacy/"))))

正确展示图标

前置条件:

  1. 在 GUI 模式下渲染更加齐全;
  2. nerd-icons 是必要的;直接执行 M-x nerd-icons-install-fonts 即可安装对应图标资源。

Org mode


Refs:

如何创建代码段

输入 src= + =TAB 生成如下格式的代码段:

,#+begin_src
 
,#+end_src

或者输入 quote= + =TAB 生成如下格式的引用:

,#+begin_quote
 
,#+end_quote

如何编辑代码段

C-c ' 进入编辑代码段界面,C-c C-c 保存修改,C-c C-k 撤销修改。


Refs:

如何创建表格

Org 可以很方便通过 ASCII 来创建表格. 通过 | 符号作为列的分割符; 键入 | + TAB 作为表格的列;键入 |- 作为表格的行分割符号;表格大概长这个样子:

| Name  | Phone | Age |
|-------+-------+-----|
| Peter |  1234 |  17 |
| Anna  |  4321 |  25 |

当你输入 |Name|Phone|Age 后,执行 C-c RET,可以直接快速生成这个样子的表格:

| Name | Phone | Age |
|------+-------+-----|
|      |       |     |

Refs:

TOC(Table of Contents)


Refs:

Markdown

生成 TOC

执行 SPC SPC markdown-toc-generate-toc RET

预览

  1. 安装 vmd
npm install -g vmd
  1. 配置实时预览引擎
 dotspacemacs-configuration-layers '(
   (markdown :variables markdown-live-preview-engine 'vmd))

快捷方式

CommandKey shortcut(native/Doom)Description
org-insert-linkC-c C-l / SPC m l l插入超链接
org-toggle-link-displaySPC m l t展示/隐藏超链接

Plugins