我在设置快捷键的时候,常常不知道应该把函数绑定到那个快捷键。害怕是否冲突,是否会覆盖另一个mode的快捷等等。请问怎么有什么指导性思路,什么类型的功能应该绑定什么键。如:C-X开头的,C-c 开头的等等。还有就是emacs的键分很多 local , global ,minor ,key-translation请问怎么使用最好啦。 有什么插件可以分类列出绑定的键,或者是overview. 感谢您的帮助。
mode specific的就绑定到对应的local map,希望全局有效的就用global map。
如果你只用GUI,可以绑定到C-digit M-digit。一般来说emacs key很少用digit key。另外绑定C-S-digit也是不错的。
指导性思路就是你不需要那么多快捷键,不要被大配置里一堆堆的key bindings固定了思维。常用的再绑,其他都可以用M-x调用。
Don’t bind C-c
prefix key是对于插件来说的。用户是随便绑的
关于你说的不同层面的 keymap,这篇文章讲得很好。官方的手册在这里,可做参考。关于什么功能应该往哪儿绑,照本来的设计只有 C-c
后面跟一个字母的是留给用户的,但是显然不太够用。个人的做法是,ctrl,alt 或者 ctrl+alt 再加一个字母的,这种 keychord 默认绑的命令不少没什么用,可以把它挪到自己常用的命令上;其余次常用的,仿照 spacemacs 那样,用一个 leader 键(我用的 alt+space),下面再来两到三层,比如 M-spc b k
就是 buffer - kill。个人用general.el来绑定所有的快捷键。
我提供点 Centaur Emacs 中的思路:尽量使用官方推荐的键位,插件也是如此,如有冲突考虑更换;mode 相关的只放到 local map 中;counsel 相关的放到C-c c
下,其他的用counsel-M-x
(M-x
) 模糊查找并调用;更复杂的用 hydra;频繁调用的可以考虑绑定到 F1-F12(比如 F9 - term
)。
我使用的就是你的配置,是在你的配置上修改的。比如:yodao-voice-at-point 这些功能需要邦定吗
看你自己啦,如果使用频率高就考虑绑定。
绑哪些:用keyfreq统计
怎么绑:用general.el