想要在Emacs中的正常恶化模式状态下使用空格键,然后使用键而不是C键

时间:2013-01-10 23:32:04

标签: emacs elisp evil-mode

我希望能够点击空格键,然后按另一个键作为击中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"

1 个答案:

答案 0 :(得分:2)

我不太了解Evil给你一个具体的答案,但你可以试试

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

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

相关问题