Company-mode有时会胡乱的跳行, 有人遇到过吗?

开启company-mode, 有时会在打入词语一半时突然跳入其他行, 搞得自己像个智障, 想debug但又没法复现.
配置非常原生态

  (setq company-idle-delay 0.1
        company-minimum-prefix-length 2
        company-transformers nil
        company-show-numbers t)

请问有大佬遇到过这种问题吗? 有解法吗? 或者要debug该怎么入手呢?

还有更好的补全框架吗 :sweat_smile:

讲真的我觉得自带的 completion-at-pointC-M-i)比 company 好,敲完以后想怎么过滤都可以。

company 我现在就只开着 dabbrev 后端。

谢谢, 是利用minibuffer补全是吧?

有时会用, 但占用屏幕太多了, 或者有别的设置? 可不可以设置成边打边不断补全呢?

GUI 的话有一些把 minibuffer 放到 child frame 里的包,比如 emacs-mini-frame,可以试一下。也可以试试 Corfu

其实想 hack 出这个效果肯定也可以,但最终会变成重新发明一遍 company。

另外,我仔细想了一下,感觉你碰到的问题我可能也碰到过:使用两个窗口编辑同一 buffer 时,光标偶尔会跳到和另一个窗口相同的位置 。如果是这个问题的话,自己编译安装下最新版就可以了。

2 个赞

您那个帖子解释的原理让我有了头绪, 要解决应该是某些地方加inhibit-quit.
但怎么定位, 我还没有头绪 :roll_eyes:, 您的工作流是怎么样的呢? 要不我先慢慢读您的mail吧 :joy:
突然意识到, 是不是换用company-posframe就可以解决问题了?!

是的,我觉得应该是这个问题

1 个赞

这个要在 C 代码里动手,最新版已经修复了,先试试最新版能不能用吧。