emacs有时候按一个按键会变成好多按键,该怎么排查?

随缘遇到,但是出现的频率挺高,就是有时候代码敲得快了之后按一个按键就会变成一个 某个固定前缀+自己按的按键 比如 前缀为a 的话,按 f 就相当于按了 af,按 k 相当于 ak, 但是按 c-f 还是 c-f

请问这种要怎么排查呢? 用了 doom 配置和自己配的都出现这种问题

2 个赞

:smile:我也遇到了这个问题,至今也没查到原因,现象好像是自动补全的时候如果按得太快自动补全来不及反应,然后后面无论按什么键刚才按的键都会被重复, :joy:然后就只能重启emacs

在用 evil mode?

可以检查下 minibuffer 里有没有东西,有的话就把焦点切过去再按 ESC

emacs -Q 重试,看看能否复现呀,不行就二分法来找。

对,似乎是这样,目前也是只能重启,就很烦

是 evil-mode, 不过出现问题之后把 evil 关了还是存在那个问题

下次出现可以检查一下 Minibuffer

我可以必现,找一个函数来进行自动补全,然后快速按键,必现这个问题

按你说的必现了, 你的 emacs 版本是? 我原本用 28, 换了 emacs-plus@27 似乎没有必现了

自己编译的emacs的native-comp分支

先换一个键盘

碰到过这个问题,不过不是company。

我是在org中使用了自动生成latex预览,就是光标离开latex fragment后自动生成图片预览,然后在快度移动光标进出latex fragment的时候就会出问题。

尝试了很多方法避免,最后把它生成预览用到的 idle timer 去掉之后才没遇到过了,也不知道什么原因和是否根治。

我也有类似的感觉,比如按C-[ 就变成了ESC 不知道是软件里头固件的还是怎么的,没找到什么地方可以改。

我也遇到过,我还以为是我用native-comp分支的问题。(没用之前感觉没遇到。

然后我更新了最新的libgccjit,emacs native-comp,最近没咋遇到了。

^[esc 本来就是一个键,因为它们的 ascii code 是 27

:joy:写代码的时候我现在按键都慢悠悠地按

从键值来讲,是不一样的啊,在win里系统是能区分的。 我是比较新的新手,平常win平台下工作多一点,其实我要用emacs最重要的一点是用它的org-mod,太牛X了,但真心感觉软件和win融合不到一起去,因为在我操作系统下永远不可能只用这一个软件 ,其它软件都是win风格,就它是自己的风格。

On computer keyboards, the Esc key Esc (named Escape key in the international standard series ISO/IEC 9995) is a key used to generate the escape character (which can be represented as ASCII code 27 in decimal, Unicode U+001B, or Ctrl+[). The escape character, when sent from the keyboard to a computer, often is interpreted by software as “stop”, and when sent from the computer to an external device (including many printers since the 1980s, computer terminals and Linux consoles, for example) marks the beginning of an escape sequence to specify operating modes or characteristics generally.

引自 wiki

这个功能现在有个包:

你可以考虑试试。我感觉还有些bug。如果你想实时预览LaTeX的话,安利我写的包:

单绑定esc要用(kbd "<escape>") ,用(kbd "ESC") 就会和C-[撞一起

不过前者可能只在GUI下有效

4 个赞

是native吗?之前用native时候遇到过