【问题标题】:Binding keys in Emacs when Evil-mode is not used不使用 Evil 模式时在 Emacs 中绑定键
【发布时间】:2014-05-11 10:24:53
【问题描述】:

我想在 Evil 插入模式下保留所有 Emacs 原始键绑定,但我想重新绑定其中一些,以应对由于某种原因(在特定缓冲区中)未启用 evil-mode 的情况。例如,我想将 M-q 映射到 save-buffers-kill-terminal 以仅在除 Evil-insert-mode 之外的所有模式下工作,其中应该执行原始 Emacs 键绑定 (fill-paragraph) 的操作。我如何做到这一点?

【问题讨论】:

    标签: emacs


    【解决方案1】:

    要让M-q 默认执行save-buffers-kill-terminal,您需要更改M-q 的全局键绑定:

    (global-set-key (kbd "M-q") 'save-buffers-kill-terminal)
    

    但是,请记住,全局键绑定被特定于模式的绑定覆盖。事实上,我们将利用这一点:

    要在插入时为 Evil 模式中的 M-q 设置一个特殊例外,请将 fill-paragraph 的特定键绑定添加到 evil-insert-state 的键绑定“map”中:

    (define-key evil-insert-state-map (kbd "M-q") 'fill-paragraph)
    

    这个会覆盖全局绑定,并且只能在邪恶模式的插入状态下工作。

    将这两行添加到您的 .emacs 配置文件中应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多