Emacs公司模式完成无效

时间:2016-06-01 14:11:03

标签: macos emacs

我几天前刚开始使用emacs而且我在设置公司模式时遇到了麻烦。我使用package-install安装了company-mode,并在我的.emacs文件中添加了以下内容: -

(require 'company)
(add-hook 'after-init-hook 'global-company-mode)

然而,当我转到haskell模式时,当我在关键字上等待几秒钟时,公司模式完成并不会弹出(同样使用racket-mode)。我可以安装一些可能搞乱或与公司模式冲突的东西吗? 此外,当我尝试手动调用公司完成时,它只是说"没有找到完成"。

编辑:尝试自动完成作为替代方案,当我按Tab键时代码完成不起作用,但是当我在单词上调用自动完成时,它可以正常工作。

Edit2:自动完成工作。  https://i.imgur.com/Vn4f2GX.png 看起来像flyspell模式与自动完成冲突。但是,没有运气让公司模式发挥作用。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我完成了为haskell中的company-mode工作而没有太多麻烦。 我所要做的只是将公司后端添加到我的.emacs: -

(add-to-list 'company-backends 'company-dabbrev-code) 
  (add-to-list 'company-backends 'company-yasnippet)
  (add-to-list 'company-backends 'company-files)

获取包intero的软件包,它为haskell添加company-mode支持。像这样: -

(add-hook 'haskell-mode-hook 'company-mode)
(add-hook 'haskell-mode-hook 'intero-mode))

至于racket-mode,我在我的.emacs中添加: -

  (defun my-racket-mode-hook () 
    (set (make-local-variable 'company-backends)
         '((company-capf company-dabbrev-code)))
    (company-quickhelp-mode 0))
  (add-hook 'racket-mode-hook 'my-racket-mode-hook)
  (add-hook 'racket-mode-hook 'company-mode)
  (add-hook 'racket-repl-mode-hook 'my-racket-mode-hook)
  (add-hook 'racket-repl-mode-hook 'company-mode)