redguardtoo / emacs.d

Fast and robust Emacs setup.
http://blog.binchen.org
GNU General Public License v3.0
2.39k stars 619 forks source link

英文单词补全 #977

Closed hhcwyx closed 2 years ago

hhcwyx commented 2 years ago

陈老师你好,我的系统是arch linux,emacs版本28.1,在org文档中敲英文的时候,补全提示没出现。原来在ubuntu下,emacs版本27.2,是有英文单词补全提示的。刚接触emacs不久,不知道是哪里出了问题?

redguardtoo commented 2 years ago

What's the value of company-ispell-dictionary?

Here is my setup in init-company.el,

(defun my-company-ispell-setup ()
  ;; @see https://github.com/company-mode/company-mode/issues/50
  (when (boundp 'company-backends)
    (make-local-variable 'company-backends)
    (push 'company-ispell company-backends)
    ;; @see https://github.com/redguardtoo/emacs.d/issues/473
    (cond
     ((and (boundp 'ispell-alternate-dictionary)
           ispell-alternate-dictionary)
      (setq company-ispell-dictionary ispell-alternate-dictionary))
     (t
       (setq company-ispell-dictionary (file-truename (concat my-emacs-d "misc/english-words.txt")))))))

;; message-mode use company-bbdb.
;; So we should NOT turn on company-ispell
(add-hook 'org-mode-hook 'my-company-ispell-setup)
hhcwyx commented 2 years ago

陈老师,这是我机器上的信息,和你列出的内容对比了,没有什么不同的啊。 ////// company-ispell-dictionary is a variable defined in company-ispell.el.

Value "/home/hhc/.emacs.d/misc/english-words.txt"

Original Value nil //////////////// (defun my-company-ispell-setup () ;; @see https://github.com/company-mode/company-mode/issues/50 (when (boundp 'company-backends) (make-local-variable 'company-backends) (push 'company-ispell company-backends) ;; @see https://github.com/redguardtoo/emacs.d/issues/473 (cond ((and (boundp 'ispell-alternate-dictionary) ispell-alternate-dictionary) (setq company-ispell-dictionary ispell-alternate-dictionary)) (t (setq company-ispell-dictionary (file-truename (concat my-emacs-d "misc/english-words.txt")))))))

;; message-mode use company-bbdb. ;; So we should NOT turn on company-ispell (add-hook 'org-mode-hook 'my-company-ispell-setup) ;; }}

redguardtoo commented 2 years ago

company-ispell is the first element of company-backends?

image

hhcwyx commented 2 years ago

陈老师,这是我编辑org文档的时候,company-backends的值,company-ispell是第一个。 company-backends is a variable defined in company.el.

Value in # (company-ispell company-c-headers company-cmake company-bbdb company-semantic company-cmake company-capf company-clang company-files (company-dabbrev-code company-gtags company-ctags company-keywords) company-oddmuse company-dabbrev)

Original Value (company-bbdb company-semantic company-cmake company-capf company-clang company-files (company-dabbrev-code company-gtags company-etags company-keywords) company-oddmuse company-dabbrev)

redguardtoo commented 2 years ago

In org file,

hhcwyx commented 2 years ago

In org file, 1、 What's output of C-h v company-ispell-available? 输出:company-ispell-available is a variable defined in company-ispell.el. Value unknown 2、What's output of M-x eval-expression ENTER (company-ispell-available)? 输出:nil 3、 What's output of C-h v ispell-alternate-dictionary? If ispell-alternate-dictionary is not nil, does th plain text dictionary it points to exist? 输出:ispell-alternate-dictionary is a variable defined in ispell.el.gz. Value nil

redguardtoo commented 2 years ago

01ff3762 ispell plain text dictionary might not exist (Chen Bin)

hhcwyx commented 2 years ago

陈老师,更新了你的最新配置,问题解决了!谢谢,谢谢!