我在windows下和centos下都安装了emacs和company插件,在windows下,company插件工作貌似很正常。但是在centos下,company插件无法识别包含大写字母的字符串作为candidate并在后续输入代码时自动补全。
例如:
我代码前面已经定义了一个变量 “PREAMBLE”,后续我继续写代码,当输入“PR”时,没有弹出任何candidate列表(我设置的minimun-prefix-length是2),另外我实验了下,如果变量名包含大写字母,则company插件都不会把它作为补全的候选,例如变量名为“preamblE”,我后面输入“pr”,也不会弹出candidate列表。除非变量名全部为小写。
在windows下则没有这个现象,我的company配置基本和windows一致。请问大家有遇到这个问题吗?
1 个赞
谢谢,你推荐的帖子我提问之前搜到过,但是我们俩的问题现象不一样,我这边的问题是company没有弹出任何候选列表,无论输入大写还是小写。感觉是company没有将包含大写字母的字符串视为补全的对象。
我这边是好的,你看看当前生效的 backend是什么,然后查一下与之对应的配置吧。
我经常用centos, 没遇到过这问题. 用company-diag命令看是哪个backend的问题, 然后可以升级插件试试
我对比看了一下,centos下默认启用的backend是company-capf,不知道为什么不会识别大写的字符串。如果我用“company-begin-backend”手动启用company-dabbrev-code这个backend就可以识别。
所以我想追问下,怎样把company-capf给disable掉呢?
通过customis菜单手动关闭capf后解决了,我是从windows上emacs过来的,感觉centos下的还是有点糊涂。谢谢大家帮助。
1 个赞