【问题标题】:Emacs mode line shows AC is on but no autocomplete is happeningEmacs 模式行显示 AC 已打开,但未发生自动完成
【发布时间】:2014-04-22 22:10:25
【问题描述】:

我刚刚从 elpa 安装了 auto-complete popupac-nrepl。当我在 emacs 中输入 clojure 缓冲区时,AC 表示自动完成功能已打开。但是无论我在缓冲区中输入什么或做什么,我都无法自动完成来做任何事情。我已经解决了一段时间了,有什么指示吗?我的 emacs 启动中也有这个:

(add-to-list 'load-path "~/.emacs.d")
(require 'auto-complete-config)
(ac-config-default)

(package-initialize)
(require 'auto-complete)

(require 'ac-nrepl)
(add-hook 'cider-repl-mode-hook 'ac-nrepl-setup)
(add-hook 'cider-mode-hook 'ac-nrepl-setup)

(eval-after-load "auto-complete" '(add-to-list 'ac-modes 'cider-repl-mode))

(defun set-auto-complete-as-completion-at-point-function ()
  (setq completion-at-point-functions '(auto-complete)))
(add-hook 'auto-complete-mode-hook 'set-auto-complete-as-completion-at-point-function)

(add-hook 'cider-repl-mode-hook 'set-auto-complete-as-completion-at-point-function)
(add-hook 'cider-mode-hook 'set-auto-complete-as-completion-at-point-function)

【问题讨论】:

  • 顺便说一句,您应该查看company-mode。正如 cider 的文档中所述,它是推荐与 cider 一起使用的完成框架(它可以开箱即用,不需要额外的包)。
  • @BozhidarBatsov 我正在阅读此页面:github.com/clojure-emacs/cider 但它没有说明(我也找不到)如果您不使用 emacs 24.4(我)如何启用“company-capf” m on 24.3),看来您必须启用它才能在苹果酒中获得内置的公司模式支持。
  • 这只是一个普通的company-mode 后端。您必须执行类似(push 'company-capf company-backends) 之类的操作。

标签: emacs autocomplete clojure


【解决方案1】:

尝试将cider-mode 添加到ac-modes 而不是cider-repl-mode

  (add-to-list 'ac-modes 'cider-mode)

【讨论】:

  • 你在 Github 上有你的配置吗?哦,我看到你使用auto-complete 作为completion-at-point-functions,所以你可能还需要(setq tab-always-indent 'complete)
猜你喜欢
  • 2014-12-21
  • 2012-06-29
  • 2013-01-23
  • 2012-02-06
  • 2012-04-18
  • 1970-01-01
  • 2023-03-12
  • 2013-03-03
  • 2015-02-13
相关资源
最近更新 更多