Emacs的ESS自动完成(Emacs ess auto-complete)

2019-08-31 10:36发布

我是A R用户,我想在emacs中使用R上。 但是,我有难同在Emacs定制ESS。 我已经安装了自动完成包装,在我的emacs最新ESS。 但是,当我运行在Emacs R,自动完成效果不好。 当我输入的应用程序,我想表现出像(图像http://www.emacswiki.org/pics/static/ess-ac3 ),但在自动完成,也不是黄色的部分显示了我的emacs都不是。

我的操作系统:Ubuntu的12.04 AMD64

我的〜/ .emacs文件

;; Auto-complete
(add-to-list 'load-path "~/.emacs.d/site-lisp")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/site-lisp/ac-dict")
(ac-config-default)
; ess-site
(add-to-list 'load-path "/usr/share/emacs/site-lisp/ess")
(require 'ess-site)
(setq ess-eval-visibly-p nil)
(setq ess-ask-for-ess-directory nil) 

Answer 1:

自动完成的作品对我来说这个设置

(setq ess-use-auto-complete t)


Answer 2:

我得到了同样的问题,下面的代码为我工作:

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)  ;load and activate packages, including auto-complete
(ac-config-default)
(setq ess-use-auto-complete 'script-only)
;;if not working, use the following instead of (setq ess-use-auto-complete 'script-only)
;;(global-auto-complete-mode t)


Answer 3:

最近,我开始在Windows上使用ESS,并用同样的问题挣扎。 我不知道所有的来龙去脉,但ESS的最新版本的建议使用公司的模式,而不是自动完成模式。 这个最小的设置似乎有自动完成对以下安装工作非常适合我:

  • 视窗10 64
  • [R 3.4.3 64
  • Emacs的25 64正常安装
  • 在启用MELPA回购init.el
  • package-install [RET] company
  • package-install [RET] ess
  • 在某些目录中打开一个新的R文件
  • Mx company-mode ,使company-mode在当前缓冲区
  • `抄送锆石”开始较差R过程

在这一点上,具有如下所示的init.el文件,R完成时工作,完成函数调用和封装构件。 我觉得需要更多的配置调整使其适合于自己的喜好,但得到这一点花了我很长时间,我认为它是成功的

init.el

(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
                    (not (gnutls-available-p))))
       (proto (if no-ssl "http" "https")))
  (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
  )
(package-initialize)

;; emacs controlled settings
(custom-set-variables
 '(package-selected-packages (quote (company ess)))
 '(show-paren-mode t)
 '(tool-bar-mode nil))
(custom-set-faces
 '(default ((t (:family "Consolas" :foundry "outline" :slant normal :weight normal :height 113 :width normal)))))

(require 'company)


文章来源: Emacs ess auto-complete