【问题标题】:spacemacs ess knitr doesn't work with Rmd filesspacemacs ess knitr 不适用于 Rmd 文件
【发布时间】:2017-10-24 06:16:42
【问题描述】:

我真的很想从 RStudio 切换到带有 ess 层的 Spacemacs。但是我无法让它工作。我的点文件中有以下内容:

dotspacemacs-configuration-layers
 '(
   html

 ;; ----------------------------------------------------------------
 ;; Example of useful layers you may want to use right away.
 ;; Uncomment some layer names and press <SPC f e R> (Vim style) or
 ;; <M-m f e R> (Emacs style) to install them.
 ;; ----------------------------------------------------------------
 markdown
 helm
 ess
 auto-completion
 better-defaults
 emacs-lisp
 git
 polymode
 mu4e
 ;; markdown
 ;; (shell :variables
 org 
 ;;        shell-default-height 30
 ;;        shell-default-position 'bottom)
 spell-checking
 syntax-checking
 ;; version-control
 )

我的 .emacs.d 私有文件夹中有以下 packages.el 复制,感谢 github。

;;; packages.el --- polymode layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Walmes Zeviani & Fernando Mayer
;; URL: https://github.com/syl20bnr/spacemacs

;;; Code:

(defconst polymode-packages
 '(polymode))

(defun polymode/init-polymode () 
  (use-package polymode
    :mode (("\\.Rmd"   . Rmd-mode))
    :init
    (progn
      (defun Rmd-mode ()
    "ESS Markdown mode for Rmd files"
    (interactive)
    (require 'poly-R)
    (require 'poly-markdown)
    (R-mode)
    (poly-markdown+r-mode))
  ))
  )

;;; packages.el ends here

语法高亮和代码补全等工作正常,但如果我尝试将代码块发送到 REPL,Rmd 和 Rmv 文件都会出现“错误类型参数 stringp nil”错误。

带有 spacemacs 的 emacs 25.2.1

在 mac 和 linux 上全新安装,没有加载其他配置。自己的.emacs已被删除

某些功能似乎可以工作,但不像它们应该的那样,例如eval-buffer 只会将当前代码块发送到 REPL

非常感谢您的帮助。

【问题讨论】:

    标签: r ess spacemacs


    【解决方案1】:

    让它与 Rmd 一起工作对我来说有点棘手。您是否尝试过使用一个简单的 .R 文件来查看它是否有效?

    这是我目前在 mi .emacs 文件中用于 Rmd 文件的内容

    ;; MARKDOWN
    (add-to-list 'auto-mode-alist '("\\.md" . poly-markdown-mode))
    
    ;; R modes
    (add-to-list 'auto-mode-alist '("\\.Snw" . poly-noweb+r-mode))
    (add-to-list 'auto-mode-alist '("\\.Rnw" . poly-noweb+r-mode))
    (add-to-list 'auto-mode-alist '("\\.Rmd" . poly-markdown+r-mode))
    
    ;; polymode
    (setq load-path (append '("/home/fer/.emacs.d/elpa/polymode-20170307.322"
    "/home/farce/.emacs.d/polymode/modes") load-path))
    
    (require 'poly-R)
    (require 'poly-markdown)
    (add-to-list 'auto-mode-alist '("\\.Rmd" . poly-markdown+r-mode))
    

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多