我有一个带有全局模式的次要模式。该模式有一些键绑定,我希望用户能够指定每种模式应该使用哪些绑定。
(my-minor-mode-bindings-for-mode 'some-mode '(key1 key2 ...))
(my-minor-mode-bindings-for-mode 'some-other-mode '(key3 key4 ...))
所以我需要某种模式/缓冲区本地键映射。本地缓冲区有点问题,因为用户可以更改主模式。
我尝试了一些解决方案,但都没有任何效果。
- 始终绑定所有可能的键,当用户键入键时,检查该键是否应该在该模式下处于活动状态。如果为真则执行动作,否则回退。
- 与前一种情况一样,只是没有绑定键。相反,我使用预命令挂钩并检查按下的键是否应该执行任何操作。
- 对于每个缓冲区更新(无论这意味着什么),运行一个函数,该函数首先清除键映射,然后使用该特定模式的绑定对其进行更新。
我已经尝试过这些方法,但我发现所有这些方法都有问题。你知道解决这个问题的好方法吗?
谢谢!