Emacs 自动完成

Emacs 自动完成,emacs,autocomplete,ess,Emacs,Autocomplete,Ess,我是R用户,我想在emacs中使用R。但是,我在emacs中定制ess时遇到了麻烦。我已经在emacs中安装了自动完成软件包和最新的ess。但是当我在emacs中运行r时,自动完成功能不能很好地工作。 当我键入app时,我想显示的像()中的图像一样,但在我的emacs中,既没有显示自动完成,也没有显示黄色部分 我的操作系统:ubuntu 12.04 amd64 我的~/.emacs文件 ;; Auto-complete (add-to-list 'load-path "~/.emacs.d/si

我是R用户,我想在emacs中使用R。但是,我在emacs中定制ess时遇到了麻烦。我已经在emacs中安装了自动完成软件包和最新的ess。但是当我在emacs中运行r时,自动完成功能不能很好地工作。 当我键入app时,我想显示的像()中的图像一样,但在我的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) 

使用此设置时,自动完成适用于我

(setq ess-use-auto-complete t)

我遇到了同样的问题,以下代码对我有效:

(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)

我最近开始在Windows上使用ESS,并与同样的问题作斗争。我不知道所有的细节,但ESS的最新版本建议使用公司模式,而不是自动完成模式。这个最小的设置似乎让autocomplete在以下设置中运行得非常好:

  • Windows 10 x64
  • R 3.4.3 x64
  • Emacs 25 x64正常安装
  • init.el中启用MELPA回购
  • 软件包安装[RET]公司
  • 软件包安装[RET]ess
  • 在某个目录中打开一个新的R文件
  • M-x公司模式
    在当前缓冲区中启用
    公司模式
  • `C-C-z'开始一个低级R过程
此时,对于如下所示的init.el文件,R completion正在工作,完成函数调用和包成员。我认为需要更多的配置来适应你的喜好,但是说到这一点,我花了很长的时间,我认为它是成功的。

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)

我想我在这里遇到了同样的问题:我也有同样的操作系统,所以可能所有回答我们两个问题的人(setq ess使用auto complete t)都在使用mac或其他东西。那对我不起作用。