emacs配置

1 安装

1
brew install --cask emacs

2 Doom Emacs

2.1安装依赖

1
brew install git ripgrep fd

2.2 Doom Emacs克隆

1
git clone https://github.com/doomemacs/doomemacs ~/.emacs.d

2.3 初始化

1
~/.emacs.d/bin/doom install

3 启用模块

修改配置文件 放开注释或者添加对应的模块

1
vim ~/.doom.d/init.el
  • :tools下面添加lsp
  • :lang放开注释支持cpp (cc +lsp)

在环境变量中添加export PATH="$HOME/.emacs.d/bin:$PATH"然后执行doom sync

4 安装clangd

1
2
3
brew install llvm

clangd --version

5 不要打开gui

在.zshrc中加入alias emacs='emacs -nw'

6 jk替换esc

6.1 开启evil-escape

~/.doom.d/init.el

1
2
:editor
(evil +everywhere)

换成

1
2
:editor
(evil +everywhere +escape)

6.2 键位设置

~/.doom.d/config.el中添加

1
(setq evil-escape-key-sequence "jk" evil-escape-delay 0.2)

6.3 应用配置

1
doom sync

7 常用快捷键

  • spc+f+f 路径下搜索文件 没有就新建

  • spc+f+s 保存文件

  • spc+w+w 切换窗口

  • spc+w+d 删除当前窗口

  • spc+c+c 编译

  • spc+c+r 重命名

  • spc+o+p 目录树

  • spc+o+t 终端

  • spc+s+i 显示当前源码所有接口

  • spc+s+s 文件内搜索

  • spc+w+s 水平分屏

  • spc+w+v 垂直分屏

  • spc+w+c 关闭窗口

  • spc+w+w 切换窗口

  • spc+g+g 打开内置git工具

  • gd 跳转定义

  • gr 跳转引用

  • K 显示文档

8 代码格式化

8.1 Doom模块

找到~/.doom.d/init.el里面放开注释(format +onsave) ; automated prettiness

8.2 同步配置

1
doom sync

9 输入q或者wq不要关闭Emacs

~/.doom.d/config.el添加

1
2
3
4
5
6
7
8
9
10
11
;; 不要让:q退出Emacs 而只退出buffer
;; q只关闭文件 不要关闭Emacs
(evil-ex-define-cmd "q" #'kill-current-buffer)
;; w不要关闭文件
(evil-ex-define-cmd "w" #'save-buffer)
;; wq不要关闭Emacs
(evil-ex-define-cmd "wq" (lambda ()
(interactive)
(save-buffer)
(kill-current-buffer)
))

10 目录树

  • ~/.doom.d/init.el中放开treemacs ; a project drawer, like neotree but cooler
  • 执行doom sync
  • 重启emacs

11 终端

  • ~/.doom.d/init.el中放开 vterm ; the best terminal emulation in Emacs
  • 执行doom sync
  • 重启emacs

12 vim的键位s

doom emacs的默认s键位被snipe占用

  • /Users/dingrui/.doom.d/config.el添加
1
2
3
4
5
(after! evil-snipe
(map! :map evil-snipe-mode-map
:n "s" nil
:n "S" nil
:n "z" #'evil-snipe-s))
  • 执行doom sync

  • 重启emacs


emacs配置
https://bannirui.github.io/2026/04/03/Note/emacs配置/
作者
dingrui
发布于
2026年4月3日
许可协议