Emacs自动补全模式扩展——ESS和R

16

是否有一个可以与ESS一起使用的 Emacs 的自动完成模式的 R 扩展呢?

如果不存在这样的扩展,我也很感谢任何编写扩展的提示!


VitoshKa,你能否发布一下你的源代码? - user1143000
2个回答

12

这里有一个针对 R 的自动补全源链接。我还记得当时我曾苦苦挣扎,最后写了自己的源码,那时速度更快,但由于我没有成功使前缀正则表达式正常工作而存在漏洞。

编辑:最新的 ESS(目前仅为svn版本)已经与 auto-complete 实现了开箱即用的集成。我将说明添加到了 wiki 中。

输入图片描述


我只能让它拥有下拉列表,但没有其他的功能?可以帮忙吗? - PascalVKooten
@Dualinity 这在维基百科中有解释。据我所记,帮助不会自动弹出。有很多自动完成的选项。你可以让它弹出。我只是将其绑定到 M-h,并且在 ac-mode-map 中随时使用。 - VitoshKa
@VitoshKa 感谢你的提示。我在我的初始化文件中添加了以下代码: (setq ess-use-auto-complete t) (defun my-ac-emacs-ess-mode () (setq ac-sources '(ac-source-R ac-source-filename)) ) (add-hook 'ess-mode-hook 'my-ac-emacs-ess-mode) (add-hook 'inferior-ess-mode-hook 'my-ac-emacs-ess-mode) 现在似乎自动完成在我的 inferior ess 缓冲区中可以工作,但是在我的 R 脚本中无法正常工作。你能提供正确设置的文档吗?谢谢! - Vinh Nguyen
@VinhNguyen 只有在脚本缓冲区与子进程相关联(C-c C-z,或C-c C-s,或仅评估某些内容)时,ac-source-R 才能正常工作。此外,最近版本的 ESS 不需要任何配置即可自动检测和配置自动完成功能。 - VitoshKa
我发现对于最新版本的ESS,自动完成功能未被自动检测和配置。 - Mittenchops
显示剩余4条评论

4

auto-complete-acr 是自动完成源。

它比 ac-R 更有用。

将以下内容添加到 .emacs 中。

(require ‘auto-complete)
(require ‘auto-complete-acr)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接