spacemacs:如何用前导[SPC]定义新的键绑定?

Gan*_*ang 4 emacs spacemacs

我想为spacemacs绑定一组额外的键.使用以下语句:

(global-set-key (kbd "SPC-1") '(fzf/start "01-personal"))
Run Code Online (Sandbox Code Playgroud)

但Emacs抱怨这SPC不是前缀键是行不通的.只是想知道spacemacs是如何做到的.做了一些搜索,但没有找到它的信息.有人可以帮忙吗?

EFL*_*FLS 8

更完整的答案是首先声明一个前缀,然后设置前导键.例如:

 (spacemacs/declare-prefix "o" "own-menu")
 (spacemacs/set-leader-keys "os" 'ispell-buffer)
Run Code Online (Sandbox Code Playgroud)

使用"o"作为前缀是个好主意,因为它可以保证可用于自定义.其他前缀可能由不同的层使用.

您还可以添加嵌套前缀,例如我使用以下内容来处理orgmode中的ID:

 ;; org-ids
 (spacemacs/declare-prefix "od" "id")
 (spacemacs/set-leader-keys "odc" 'org-id-copy)
 (spacemacs/set-leader-keys "odu" 'org-id-update-id-locations)
Run Code Online (Sandbox Code Playgroud)

这允许我按下SPC o d c以复制Org标头ID(如果它尚不存在则创建一个).