spacemacs:如何使用前导 [SPC] 定义新的键绑定?
spacemacs: how to define a new key-binding with a leading [SPC]?
我想为 spacemacs 绑定一组额外的键。使用了以下语句:
(global-set-key (kbd "SPC-1") '(fzf/start "01-personal"))
然而,Emacs 抱怨 SPC
不是前缀键,这不起作用。只是想知道 spacemacs 是如何做到的。做了一些搜索,但没有找到它的信息。有人可以帮忙吗?
刚刚做了一些进一步的搜索,在 spacemacs 下设置这样的键绑定的正确方法是:
(spacemacs/set-leader-keys "1" 'keymap)
一个更完整的答案,是先声明一个前缀,然后设置leader keys。例如:
(spacemacs/declare-prefix "o" "own-menu")
(spacemacs/set-leader-keys "os" 'ispell-buffer)
使用 "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)
这允许我按 SPC o d c
复制组织 header id(如果它不存在则创建一个)。
我想为 spacemacs 绑定一组额外的键。使用了以下语句:
(global-set-key (kbd "SPC-1") '(fzf/start "01-personal"))
然而,Emacs 抱怨 SPC
不是前缀键,这不起作用。只是想知道 spacemacs 是如何做到的。做了一些搜索,但没有找到它的信息。有人可以帮忙吗?
刚刚做了一些进一步的搜索,在 spacemacs 下设置这样的键绑定的正确方法是:
(spacemacs/set-leader-keys "1" 'keymap)
一个更完整的答案,是先声明一个前缀,然后设置leader keys。例如:
(spacemacs/declare-prefix "o" "own-menu")
(spacemacs/set-leader-keys "os" 'ispell-buffer)
使用 "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)
这允许我按 SPC o d c
复制组织 header id(如果它不存在则创建一个)。