【求助】如何避免 Emacs 递归映射,即同时设置 `C-c d` 和 `C-c d d`?谢谢 🙏

是的,只能把第二个快捷键作一个临时绑定。

timeout 的思路很好,但要设置别的类似的成对快捷键时还要写一遍,这时候就不如 Emacs 原生的 key sequence 了。

key sequence 没有时间限制,更自由(除了我这个奇葩要求)。

这个东西把它写成一个封装其实也很方便。我看了一下 general.el 有个函数叫 general-dispatcher 就可以干类似的事情,然后包装的接口也差不多,虽然实现我没有去看。

具体来说包装成一个函数指定前缀键,其对应命令,一系列的后缀键 以及这些后缀键对应的命令以及 fallback 的命令就好了。

不过这样做就太 hack 了,并且自带帮助 C-h v xxx-map 就作废了。我在 vim 里除了 jk as esc 这种之外,也从不定义任何的递归映射,因为那个 timeout len 太烦人了。