我有一个辅助模式,也带有全局模式。该模式有一些键绑定,我希望用户能够指定哪种绑定应该适用于每种模式。
(my-minor-mode-bindings-for-mode 'some-mode '(key1 key2 ...))
(my-minor-mode-bindings-for-mode 'some-other-mode '(key3 key4 ...))
所以我需要某种模式/缓冲区本地键映射。缓冲本地是一个 因为用户可以改变主要模式,所以有点问题。
我尝试了一些既无效的解决方案。
我尝试过这些方法,但我发现了所有问题。你知道解决这个问题的好方法吗?
谢谢!
答案 0 :(得分:0)
你可以添加键绑定是一个钩子我想:
(add-hook 'some-mode-hook
(lambda ()
(define-key some-mode-map (kbd "C-c w") 'something)
...
)
)
匿名功能当然可能更复杂,你可以做任何你想做的检查。当然,如果您需要以交互方式更改绑定,您只需使用一些交互式功能......
答案 1 :(得分:0)
将some-mode-map
变量缓冲区设为本地,并且在启用some-mode
时,它将检查要安装哪些密钥绑定集。因为some-mode-map
是缓冲本地的,所以键绑定应该是该缓冲区的本地(并且不会影响其他缓冲区)。