天呐,以前Windows没碰到过这问题,mac用了几天就碰上了。profile了一下是company-css
这个后端特别卡,我现在
(with-eval-after-load 'web-mode
(setcar company-backends-web-mode '(company-web-html)))
把第一组从'(company-web-html company-css)
改成'(company-web-html)
,有所改善,但是仍然有点卡。profile如下,这回看不懂了。
- ... 927 62%
- cl-delete-if 925 62%
- apply 925 62%
- cl-delete 925 62%
+ #<compiled 0x4420d9e3> 925 62%
+ ivy--resize-minibuffer-to-fit 1 0%
+ golden-ratio--resize-window 1 0%
Automatic GC 0 0%
+ command-execute 323 21%
+ timer-event-handler 120 8%
+ linum-update-current 64 4%
+ company-post-command 26 1%
+ redisplay_internal (C function) 18 1%
+ evil-repeat-post-hook 1 0%
(with-eval-after-load 'web-mode
(setq company-backends-web-mode (cdr company-backends-web-mode)))
把company-web-html
也去掉了,现在似乎不卡了。
另外有个小问题,这样改下来这是因为company-backends
是去掉了前述两个后端后的结果,但是company-backends-web-mode
变成了nil
,有点奇怪,但是补全仍然能进行。company-backends-web-mode
是在打开一个文件时设定当前buffer的backends时套用的,已经打开的不会受这个变量影响。