【问题标题】:Emacs evil: space as a prefix key in motion stateEmacs evil: 空间作为运动状态下的前缀键
【发布时间】:2015-10-11 05:40:29
【问题描述】:

我希望能够使用 SPC h/j/k/l 导航窗口。我可以说(错了,见编辑

(define-key evil-normal-state-map (kbd "SPC h") 'evil-window-left)

对于正常状态(或者我可以去使用evil-leader...),但是这些都不能在运动状态下做同样的事情。如果我把

(define-key evil-motion-state-map (kbd "SPC h") 'evil-window-left)

然后我得到错误

error: Key sequence SPC h starts with non-prefix key SPC

然后我尝试在运动状态下取消定义SPC

(define-key evil-motion-state-map "SPC" nil)

但这并不能消除错误。

我该怎么做?我更喜欢只改变 SPC 在运动状态下的行为的解决方案。我怀疑答案在于define-prefix-command,但emacs wiki页面令人困惑。

编辑:

最上面的代码行不起作用。出于某种原因,我认为它在正常模式下工作,但我遇到了同样的错误。所以我可以去使用邪恶领袖,但这在运动状态下不起作用

【问题讨论】:

    标签: emacs evil-mode


    【解决方案1】:

    您在正确的轨道上,尝试取消设置空格键,但 define-key 将“SPC”读为 SPC,而不是空格键。

    它必须是(kbd "SPC")" "(它们是等价的;前者计算为后者):

    (define-key evil-motion-state-map " " nil)
    

    那么这些应该可以工作:

    (define-key evil-motion-state-map (kbd "SPC h") 'evil-window-left)
    (define-key evil-motion-state-map (kbd "SPC j") 'evil-window-down)
    (define-key evil-motion-state-map (kbd "SPC k") 'evil-window-up)
    (define-key evil-motion-state-map (kbd "SPC l") 'evil-window-right)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 2021-05-14
      • 2013-12-24
      • 1970-01-01
      • 2014-10-21
      相关资源
      最近更新 更多