首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs在工具提示中自动完成ESS,而不是缓冲区。

Emacs在工具提示中自动完成ESS,而不是缓冲区。
EN

Stack Overflow用户
提问于 2014-03-10 15:16:17
回答 2查看 2.1K关注 0票数 7

我从下列资源中了解到:

...that I在使用ESS进行R开发时,应该可以访问emacs中自动完成帮助的工具提示。最后一个链接还指定它应该使用最新的ESS开箱即用,并且:

从12.03版ESS集成开箱与自动完成的软件包. ESS分布包括三种源“交流源-R-args”、“交流源-R-对象”和“交流源-R”。最新的组合前两者,使他们一起玩得很好。

我知道总的来说,我的emacs工具提示是可能的,因为它们在我的emacs中的蟒蛇绝地设置中是正确的。

然而,我的emacs自动完成不起作用。相反,底部有一个缓冲区:

与此不同的是,在工作缓冲区上叠加了帮助:

我的init.el中有以下内容:

代码语言:javascript
复制
(require 'auto-complete)
(setq ess-use-auto-complete t)
(ess-toggle-underscore nil)

我有以下版本的:

代码语言:javascript
复制
  ess                20131207.1141  installed  No description available.
  ess-R-data-view    20130509.458   installed  Data viewer for GNU R
  ess-R-object-popup 20130302.336   installed  popup description of R object
  auto-complete      20140208.653   installed  Auto Completion for GNU Emacs

我遗漏了什么?

更新1

这是我的ESS资料。这会在缓冲区中生成完成,但不会在工具提示中生成,因为在工具提示中添加了手册中的一些配置选项。(我现在已经尝试了所有这些评论和不评论的排列):

代码语言:javascript
复制
(require 'auto-complete)
(global-auto-complete-mode)
(require 'auto-complete-config)
(ac-config-default)
(require 'ess-site)
(setq ess-use-auto-complete t)
(setq ac-auto-start 2)
(setq ac-auto-show-menu 0.2)
(ess-toggle-underscore nil)

更新2

类似的问题这里,但也提出了同样的解决方案,但实际上并没有在我的设置中产生工具提示。但对我来说这可能是个平台问题?当我在Ubuntu12.04上也有海报--是否可能VitoshKa,Alex和Iqbal Ansari的解决方案都在一个不同的平台上?你们在用OS吗?

更新3

也许其他诊断:

代码语言:javascript
复制
ac-source-R is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-ac-start)
 (candidates . ess-ac-candidates)
 (document . ess-ac-help))


Documentation:
Combined ad-completion source for R function arguments and R objects

ac-source-R-objects is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-symbol-start)
 (candidates . ess-ac-objects)
 (document . ess-ac-help-object))


Documentation:
Auto-completion source for R objects

ac-source-R-args is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-ac-start-args)
 (candidates . ess-ac-args)
 (document . ess-ac-help-arg))


Documentation:
Auto-completion source for R function arguments

[back]

其中ess-ac[TAB]的变量仅为..。

代码语言:javascript
复制
Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
ess-ac-R-argument-suffix
ess-ac-sources

所以,也许问题是我的ESS安装缺少上面定义的所有ess-ac-*东西,比如ess-ac-args等等?

EN

回答 2

Stack Overflow用户

发布于 2014-03-10 19:36:20

我的自动完成配置也有

代码语言:javascript
复制
(require 'auto-complete-config)
(ac-config-default)

在此设置之后,ess-use-auto-complete使ESS显示弹出菜单。

票数 2
EN

Stack Overflow用户

发布于 2014-03-10 19:48:37

因此,根据您的评论,您的emacs配置中没有启用auto-complete。因此,只需在init文件中添加类似于以下内容的内容即可启用auto-complete

代码语言:javascript
复制
(load "auto-complete")
(global-auto-complete-mode)

另外,对于ESS,您需要将ess-use-auto-complete设置为t,如下所示

代码语言:javascript
复制
(setq ess-use-auto-complete t)

编辑:默认情况下,ess-use-auto-complete设置为t,因此并不真正需要这个步骤。

而且,由于您发现这个选项令人困惑,我建议您在github上打开一个问题,以便维护人员可以改进文档(或代码),无论哪种方法可以减少混淆。

自动完成有很多配置选项,当你有时间的时候读手册

很高兴我能帮上忙

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22304058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档