emacs 编辑器的一套配置框架,需要什么功能修改下配置文件就可以,省去了很多折腾。此文是对官方文档的简单翻译。

安装和使用

1
2
3
4
5
  # 安装
  $ git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
  $ emacs
  # 更新
  $ git pull origin master

配置 layers

spacemacs 的功能包含在 layers 里面,你要哪一个功能,就选定哪一层就好了。默认帮你配好了很多层了,足够用了。

配置 Dotfile (最重要的配置文件)

~/.spacemacs 文件是 spacemacs 总的配置文件,你可以在里面配置需要安装的层和其他选项。

Dotfile 的 同步

当修改完 .spacemacs 文件后,可以执行 sync-configuration-layers 命令同步配置,就不用重启 spacemacs 了。

层中排除 package (not)

1
2
3
4
5
  (defun dotspacemacs/layers ()
    ;; List of configuration layers to load.
    (setq-default dotspacemacs-configuration-layers
                  '(auto-completion
                    (spacemacs-ui-visual :packages (not treemacs fancy-battery))))

环境变量

spacemacs 有自己的环境变量, 通过 spacemacs/edit-env 编辑

设置文件默认的主模式

1
  (add-to-list 'auto-mode-alist '("\\.js\\'" . react-mode))

键绑定

按键方式一般会设置成 前导键 式的绑定样式

1
2
  (spacemacs/declare-prefix "o" "custom")
  (spacemacs/set-leader-keys "oc" 'my-custom-command)

界面

主题

设置默认主题组

1
  (setq-default dotspacemacs-themes '(spacemacs-light leuven zenburn))

字体设置

1
2
3
4
  (setq-default dotspacemacs-default-font '("Source Code Pro"
                                            :size 10.0
                                            :weight normal
                                            :width normal))

布局和工作空间

布局

相当于一种历史状态,可以保存,以备下次使用。

L load layouts from file
o open a custom layout
r remove current buffer from layout
R rename current layout
s save layouts
t display a buffer without adding it to the current layout
w workspaces transient state (needs eyebrowse layer enabled)

工作空间

布局还能划分工作空间

导航

光标

光标移动用 vim 样式的快捷键就好了,如果选择 Vim 编辑样式的话。

快速跳转 avy

SPC j b go back to the previous location (before the jump)
SPC j j initiate avy jump char
SPC j w initiate avy jump word
SPC j l initiate avy jump line

快速跳转到链接 ace-link

默认只有 help-mode and info-mode 开着的。

窗口跳转

通过窗口编号跳转,移动窗口

SPC 1 go to window number 1
SPC 2 go to window number 2

Buffers 管理

书签

打开书签 SPC f b

C-d delete the selected bookmark
C-e edit the selected bookmark
C-f toggle filename location
C-o open the selected bookmark in another window

搜索

关闭高亮

SPC s c

编辑

文本操作

SPC x 开头,排序,比较什么的。

文本输入

插入特殊的文本,以 SPC i 开头

缩放显示区域

narrow

替换

SPC s e

比较

比较 buffer 的不同 ,以 SPC D 开头

Compiling

服务

保证服务不关闭

1
  (setq-default dotspacemacs-persistent-server t)

退出 emacs

退出服务 SPC q q

禁止服务

1
  (setq-default dotspacemacs-enable-server nil)

调试

加载有错误

emacs –debug-init

更新包后有错,要重新编译安装包

spacemacs/recompile-elpa

打开调试开关

toggle-debug-on-error