【问题标题】:Emacs ess auto-completeEmacs ess 自动完成
【发布时间】:2013-04-18 05:19:04
【问题描述】:

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

【问题讨论】:

  • 我想我也遇到了同样的问题,在这里:stackoverflow.com/questions/22304058/… 我也有相同的操作系统,所以也许所有人都在响应 (setq ess-use-auto-complete t) on我们的两个问题都是使用macs或其他东西。这对我不起作用。

标签: emacs autocomplete ess


【解决方案1】:

我最近开始在 Windows 上使用 ESS,并且遇到了同样的问题。我不知道所有细节,但最新版本的 ESS 建议使用公司模式而不是自动完成模式。在以下设置中,这个最小设置似乎对我来说自动完成工作得很好:

  • Windows 10 x64
  • R 3.4.3 x64
  • Emacs 25 x64 安装正常
  • init.el 中启用了 MELPA 存储库
  • package-install [RET] company
  • package-install [RET] ess
  • 在某个目录中打开一个新的 R 文件
  • M-x company-mode 在当前缓冲区中启用 company-mode
  • `C-c C-z' 启动劣质 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)

【讨论】:

    【解决方案2】:

    使用此设置自动完成对我有用

    (setq ess-use-auto-complete t)
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-08-20
        • 2011-06-08
        • 2014-10-21
        • 1970-01-01
        • 2011-05-04
        • 1970-01-01
        • 1970-01-01
        • 2014-04-13
        • 1970-01-01
        相关资源
        最近更新 更多