如何在Doom Emacs中同时将jh和fd映射为<Esc>键?
解决Doom Emacs中同时用fd和jh作为Insert模式退出键的问题
你碰到的输入j时卡顿的情况,本质是Emacs原生按键绑定机制导致的——当你给jh绑定了切换命令后,Emacs收到j这个按键时,会默认认为你可能要输入完整的jh组合键,因此会等待一小段超时时间,这段等待就表现成了你感觉到的卡顿。
要同时支持fd和jh两个退出序列,正确的做法是利用evil-escape本身的多序列支持,而非直接给双字符绑定命令。具体操作步骤如下:
- 打开你的Doom Emacs配置文件
~/.doom.d/config.el - 添加以下配置代码:
;; 配置evil-escape支持两组退出序列:fd 和 jh (setq evil-escape-sequences '("fd" "jh")) ;; 调整延迟时间(单位:秒),用来区分是输入单个字符还是退出序列 ;; 可以根据自己的打字速度微调,默认0.2秒就很合适 (setq evil-escape-delay 0.2)
- 保存文件后,执行
M-x doom/reload重新加载配置,或者直接重启Emacs
完成设置后,你在Insert模式下快速输入fd或者jh,都会立即切换到Normal模式;而单独输入j、h、f这些字符时,只要你在0.2秒内没有输入第二个组合字符,Emacs就会正常输入单个字符,不会再出现卡顿的情况。
这是因为evil-escape专门针对这种快速连续按键的场景做了优化,它用定时器检测输入的字符序列,而非像原生双字符绑定那样阻塞输入等待,体验会流畅很多。
内容的提问来源于stack exchange,提问作者Jean
相关产品推荐
相关产品推荐

