| tags: [ Emacs ] categories: [ Development ]
Doom Emacs 按键绑定
核心快捷键前缀
在 Doom Emacs 中按快捷键前缀时会提示接下来可能的按键说明,非常方便。快捷键修饰符如下:
SPC
表示Space
C-
表示Ctrl
M-
表示Meta
orAlt
orOption
S-
表示Shift
s-
表示Super
orCommand
orWin
跟 Spacemacs 一样,Doom Emacs 也默认开启了 evil 模式来模拟 VI 的编辑体验,需要在插入等状态下按 ESC
回到 normal state,所有 SPC
开头的快捷键都要退出 emacs-state 和 insert-state 才能使用,在这两个状态里可以用 M-SPC
前缀避免模式切换。
M-x
, C-x
, C-c
, C-h
这四组快捷键可以在所有状态里使用,但要注意当前 buffer 使用的编辑模式(mode)可能重新绑定了快捷键,可以用 C-h k
确认一个快捷键对应什么功能。
按键 | 用途 | 备注 |
---|---|---|
SPC | leader,进入 Doom Emacs 主功能菜单 | emacs-state 和 insert-state 下使用 M-SPC |
M-x | 进入扩展命令输入界面 | |
C-x | C-x 系列命令菜单,一般是全局命令 | |
C-c | C-c 系列命令菜单,一般是 mode 特定的命令 | |
C-h | C-h 系列帮助菜单 | 非常有用 |
SPC c | +code | |
SPC p | +project | |
SPC s | +search | s-f 是 swiper 功能 |
SPC f l | Locate file | 使用 locate 命令定位文件 |
SPC f r | Recent files | |
C-h t | Load theme | SPC h 或者 C-h 进入帮助菜单 |
C-s-f | toggle-frame-fullscreen | normal state 可以用 C-S-f |
vterm
根据 emacs-vterm 主页的说法,vterm 是 Emacs 下最好的终端模拟器,搭配 Doom Emacs 推荐的 emacs-mac, 可以完美显示颜文字。
需要按照 https://github.com/akermu/emacs-libvterm#shell-side-configuration-files 说明配置好 shell,然后使用 vterm_cmd find-file xxx 或者 emacsclient xxx 可以从命令行打开文件到 Emacs 里编辑。
按键 | 用途 | 备注 |
---|---|---|
SPC o T | +vterm/here | 开启一个新的 vterm |
SPC o t | +vterm/toggle | 在 Emacs 窗口底部弹出迷你 vterm 或者隐藏迷你 vterm |
C-c C-c | vterm-send-C-c | |
C-c C-g | vterm-send-C-g | |
C-c C-t | vterm-copy-mode | 类似进入 Screen、Tmux 的复制模式 |
C-c C-z | evil-collection-vterm-toggle | 切换 ESC 按键是送给 vterm 还是送给 Emacs |
workspace
persp-mode.el 提供类似 Eclipse perspective 或者终端模拟器里标签页的功能,persp-mode 使用 C-c p
快捷键前缀,Doom Emacs 定义了额外的快捷键。
按键 | 用途 | 备注 |
---|---|---|
C-c p | persp-mode 快捷键前缀 | |
s-T, SPC TAB TAB | +workspace/display | 展示复用了 mini buffer 位置的 workspace 标签栏。normal state 可使用 C-S-t。 |
s-t, SPC TAB n | +workspace/new | normal state 可使用 C-t。 |
SPC TAB d | +workspace/delete | |
SPC TAB r | +workspace/rename | 也可以用 C-c p r。 |
SPC TAB o | +workspace/other | switch to the last activated workspace |
M-0, SPC TAB 0 | +workspace/switch-to-final | normal state 可使用 s-0. |
M-1 |
+workspace/switch-to-1~9 | 切换到第一到第九个 workspace。normal state 可使用 s-1~9。 |
window
Emacs 里基本的多窗口操作快捷键。
按键 | 用途 | 备注 |
---|---|---|
C-w, SPC w | 窗口操作快捷键前缀 | 只在 normal state 有效。 |
C-x + | balance-windows | |
C-x 0, s-w | +workspace/close-window-or-workspace | |
C-x 1 | delete-other-window | |
C-x 2 | split-window-below | |
C-x 3 | split-window-right | |
C-x o | other-window | |
C-x 4 f | find-file-other-window | |
C-x 4 d | dired-other-window | |
C-x 4 b | switch-to-buffer-other-window |