【问题标题】:Emacs Key Binding PrecedenceEmacs 键绑定优先级
【发布时间】:2014-09-01 12:00:15
【问题描述】:

我对@9​​87654321@ 覆盖yasnippets 使用的键绑定的默认行为感到沮丧。

有没有办法设置优先级,以便选项卡在尝试自动完成单词之前尝试扩展 sn-p?

快速披露:我正在使用邪恶模式。

【问题讨论】:

    标签: emacs autocomplete elisp code-snippets evil-mode


    【解决方案1】:

    如果它们都是次要模式,则优先级由 minor-mode-map-alist 中元素的顺序决定,除非明确操作,否则仅由加载库的顺序决定。

    确保autocompleteyasnippet 之前加载,并且 yasn-p 的次要模式映射优先。

    您还可以在加载autocomplete 后使用eval-after-load 调整minor-mode-map-alist,以检查是否有 yasn-p 条目,并在必要时重新排序列表。

    (不过,autocomplete 可能会使用其他方法。例如,临时覆盖的键映射仍然优先于次要模式映射。)

    【讨论】:

    • 您能否提供一个如何重新排序列表的示例?我试图删除 yasn-p,然后用自动完成的 eval-after-load 追加(希望在列表的末尾)yasn-p,但我的删除操作使用以下代码:(setq minor-mode-alist(delete '(yasn-p keymap) minor-mode-alist)) 但 yasn-p 的键盘映射没有被删除。
    • (1) minor-mode-map-alist,而不是 minor-mode-alist。 (2) 参见stackoverflow.com/a/5340797的示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多