#+TITLE: ESS (R) layer [[file:img/r.jpg]] * Table of Contents :TOC_4_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#key-bindings][Key Bindings]] - [[#inferior-repl-process][Inferior REPL process]] - [[#helpers][Helpers]] - [[#options][Options]] * Description This layer adds support for statistical analysis through [[https://ess.r-project.org/][ESS]]. ** Features: - All [[https://ess.r-project.org/Manual/ess.html#Current-Features][ESS features]] - Additional data viewer for R via [[https://github.com/myuhe/ess-R-data-view.el][ess-R-data-view]] - Support for Org-Babel - Better 'equals' behavior via [[https://github.com/genovese/ess-smart-equals][ess-smart-equals]] * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =ess= to the existing =dotspacemacs-configuration-layers= list in this file. * Key Bindings ** Inferior REPL process Send code to inferior process with these commands: | Key Binding | Description | |-------------+------------------------------------------------------------------| | ~SPC m c c~ | send knitr/sweave chunk and keep buffer focused | | ~SPC m c C~ | send knitr/sweave chunk and switch to REPL in insert mode | | ~SPC m c d~ | send knitr/sweave chunk and step to next chunk | | ~SPC m c m~ | mark knitr/sweave chunk around point | | ~SPC m c n~ | next knitr/sweave chunk | | ~SPC m c N~ | previous knitr/sweave chunk | | ~SPC m s b~ | send buffer and keep code buffer focused | | ~SPC m s B~ | send buffer and switch to REPL in insert mode | | ~SPC m s d~ | send region or line and step (debug) | | ~SPC m s D~ | send function or paragraph and step (debug) | | ~SPC m s i~ | start an inferior REPL process | | ~SPC m s l~ | send line and keep code buffer focused | | ~SPC m s L~ | send line and switch to REPL in insert mode | | ~SPC m s r~ | send region and keep code buffer focused | | ~SPC m s R~ | send region and switch to REPL in insert mode | | ~SPC m s f~ | send thing at point (function) and keep code buffer focused | | ~SPC m s F~ | send thing at point (function) and switch to REPL in insert mode | | ~CTRL+j~ | next item in REPL history | | ~CTRL+k~ | previous item in REPL history | ** Helpers Helpers for inspecting objects at point are available in R buffers only. | Key Binding | Description | |-------------+----------------------------------------------------------------| | ~SPC m h d~ | view data under point using [ess-R-data-view][ess-R-data-view] | | ~SPC m h t~ | view table using [ess-R-data-view][ess-R-data-view] | * Options To turn off the automatic replacement of underscores by =<-=, set in your =~/.spacemacs=: #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '((ess :variables ess-disable-underscore-assign t))) #+END_SRC Alternatively you may enable =ess-smart-equals=, which also disables replacement of underscores by =<-=, and additionally replace the equals sign with =<-= when appropriate: #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '((ess :variables ess-enable-smart-equals t))) #+END_SRC