在明显不需要补全的mode中关闭自动补全可以减少卡顿

org-modemarkdown-mode 下一般有大量的中文输入,company-mode 不但没有作用而且还会导致卡顿。

Spacemacs 中可以通过 auto-complete layer 的设置来关闭特定模式的自动补全

(auto-completion :variables
                      ;; balabala
                      :disabled-for org markdown
                      ) 
5 个赞

我这边Markdown 似乎并没有禁用 company-mode,你那边可以么?

我这可以啊,你会不会手动开了 global-company-mode

@xcodebuild 我没有开启呀…

但是我加了下面的配置:

(when (configuration-layer/package-usedp 'company)
    (spacemacs|add-company-hook markdown-mode))

:joy:

在 org-mode 的中我还是想补齐英文, 但可以设置为不补中文, 只补齐英文吗?

本人非 IT 工作, 一直没空试, 今天试了下不行啊! 用的是 spacemacs a-x toggle-company-ispell 已打开了.

多问一句, 叶文彬写的 “Elisp 入门” 笔记. 是参考的那一本书, 还是他自己写的?

你如果把叶彬的书看完了,就知道他参考的是什么了。这里我就不剧透了。

正在整理叶文彬的笔记转为 org 格式, 已到 46%了, 因此一问. 但我还是想知道前面的提问 “在 org-mode 的中我还是想补齐英文, 但可以设置为不补中文, 只补齐英文吗?”. 怎么不行, 因为当关掉不用 company-mode, 很明显的, 在编辑时会流畅很多, 我猜会不会是中文的关系.

(require 'chinese-pyim)
(defun eh-company-dabbrev--prefix (orig-fun)
  "取消中文补全"
  (let ((string (pyim-char-before-to-string 0)))
   (if (pyim-string-match-p "\\cc" string)
        nil
      (funcall orig-fun))))
(advice-add 'company-dabbrev--prefix :around #'eh-company-dabbrev--prefix))
3 个赞

之前傻逼了Thx!

这段代码好像添加到现在比较新的pyim的版本中好像报错,有下面的: Error: (error (invalid-read-syntax “)”)) (read #<buffer load-48756>) (eval-buffer #<buffer load-48756> nil “/home/fg/.emacs.d/private/modes/fg-chinese.el” nil t) (load-with-code-conversion “/home/fg/.emacs.d/private/modes/fg-chinese.el” “/home/fg/.emacs.d/private/modes/fg-chinese.el” nil nil) (load “~/.emacs.d/private/modes/fg-chinese.el”) (mapc load ("~/.emacs.d/private/modes/fg-chinese.el"))

试下byte-compile