从jetbrains家跳到emacs,我现在唯一想念的东西就是:输入exln
,补全候选列表能出extremelyLongName
记得以前讨论过但是找不到帖子了,就重新发一个。搜了一下,company的issue最后有人基于什么flx搞了个company-flx,然后大家说不宜放在company里面,因为依赖flx,可以另外发个包,他就发了个。遗憾是暂时只支持company-capf
后端,company-dabbrev
这样重要的后端还没支持。
我试了一下,后端换成只有company-capf
之后在web-mode下根本什么都出不来。。capf
=completion-at-point-function
,不大懂。
输入一下company-diag看看你当前cursor下面使用的啥backend
推一個自己寫的插件 company-fuzzy. 他什麼backends 都支持, 也支持很多個不同的模糊演算 (flx, flex, fuz, liquidmetal, etc), 可以試試看~
yibie
5
你开发了很多 emacs 的 package,真的可以发一条专门介绍的帖子。我去你的 github,佩服你的想法、精力和执行力,真的值得整理一下自己的工作,发出来让大家了解了解。
1 个赞
謝謝! 我自己也覺得花太多時間去"做". 但都沒有花太多時間去解釋. 有機會一定整理起來.
加了fuzzy matching(flex)后感觉卡卡的,这几个算法哪个性能更好一点啊?
我自己是用 flx-rs, 在 windows 下可以得到16倍的提速, Linux下測試是10倍 (比起 flx), 不過如果 flx 夠用, 就用 flx 就行了. 另一個是 fuz, 或用我預編譯好的 fuz-bin.
我很好奇,company-fuzz
发布在melpa,但是 flx-rs
又发布到其他地方,安装和使用很不方便啊。这是为何?
flx确实感觉比flex快很多,谢谢;flx-rs是不是依赖flx包的,还是可以单独用?
另外我遇到一个问题;我原先也在使用company-english-helper这个包,用来辅助英文查词。但这个因为不是时常需要,所以我通过修改company-backends这个变量来开启或关闭english-helper的补全;在用了company-fuzzy后,我发现company-backends被改成了company-fuzzy-all-other-backends这个变量,然后再修改company-backends这个变量好像就不正常了,似乎backends可以增加,但是删不掉。我应该怎么做才能继续完成动态修改backends的目的?
谢谢;
flx-rs是獨立的包, 可以單獨使用.
company-fuzzy-all-other-backends
必須是唯一的後端, 因為其他都被抓去管理了. 動態加入可以參考這裡.
基本上所有 backends 都是交給插件自己去搞定, 大多使用者都不需要特別去管理.