minor-mode按键冲突如何解决

emacs中minor mode的快捷键优先级最高,但如果两个minor mode的快键键冲突了怎么办?

1 个赞

自己手动取消掉其中一个 minor mode 的冲突的快捷键

比 Minor Mode 优先级高的还有很多

大致是后启动的 Minor Mode 优先级高。不清楚这算不算是个问题,因为只要按键能自定义难免会起冲突;而如果算个问题,怎么做才能算得上解决了。

嗯嗯,确实,我其实想的是不管啥优先级,同级肯定会有冲突,只是想看看大家的解决思路

设置前先看一下快捷键是否被占用,然后再决定是把原快捷键取消掉or绑定另外的快捷键

我感觉这不是个问题:真的有人会按minor mode组织自己的按键?我都是某个按键在某个major mode里符合我的期望就行了,如果我希望两个major mode都有某个binding,那我想的一定是“这两个major mode的某些用途类似”(比如在web-mode和js2-mode里编辑js代码),而非“因为这两个major mode都开启了某个minor mode所以我希望某个binding在两处都有”。

解决看上面的key map优先级就很明白了,evil用的是emulation-mode-map,in your case minor-mode-overriding-map也可以。也可以用general.el,和evil用的map类似:

When general-override-mode is enabled, keys bound in general-override-mode-map will take precedence over keys bound in any other minor mode keymaps. By default, general.el will automatically enable general-override-mode when binding a key in general-override-mode-map .


p.s. 上面的一段话从github复制过来后,代码块部分被discourse自动加上了backquote,神奇

1 个赞

大概dicourse可以用富文本复制