2

我希望能够按空格键,然后按另一个键,而不是按 Ctrl,而不是按正常状态邪恶模式中的键。

例如,这是我开始在我的.emacs文件中定义的内容:

(define-key evil-normal-state-map " ww" 'evil-window-next)
(define-key evil-normal-state-map " wr" 'evil-window-rotate-downwards)
(define-key evil-normal-state-map " wR" 'evil-window-rotate-upwards)
(define-key evil-normal-state-map " wo" 'delete-other-windows)
(define-key evil-normal-state-map " wn" 'evil-window-new)
(define-key evil-normal-state-map " wl" 'evil-window-right)
(define-key evil-normal-state-map " wh" 'evil-window-left)
(define-key evil-normal-state-map " wj" 'evil-window-down)
(define-key evil-normal-state-map " wk" 'evil-window-up)

据我目前所知,似乎我只能将按键序列定义为给定的功能,而不是像 Ctrl 这样不能单独使用的东西。有没有一种通用的方法可以使空格键后跟另一个键等同C-"that key"于正常状态邪恶模式中的任何键?

4

1 回答 1

2

我对 Evil 了解得不够多,无法给你一个具体的答案,但你可以试试

(define-key function-key-map " " 'event-apply-control-modifier)
(define-key evil-normal-state-map " " nil)

只有当SPCfunction-key-map在所有其他地图中“未绑定”时,绑定才会生效,因此将其绑定到 nil inevil-normal-state-map可能是不够的。否则,您可以使用key-translation-map而不是function-key-map,因此重写将优先于正常的 SPC 绑定,但是您需要弄清楚在激活/离开 Evil 的正常状态时如何启用/禁用此绑定。

于 2013-01-22T19:43:34.823 回答