ESS (R) layer
Table of ContentsClose
1. Description
This layer adds support for statistical programming languages to Spacemacs.
1.1. Features:
- Syntax highlighting
- Auto-completion
- Syntax-checking via lintr
- Additional data viewer for R via ess-R-data-view
- Support for Org-Babel
- Showing of inline help for
R
constructs - Repl support via
R terminal
- Support for
S
,SAS
andR
- Much more via the ESS Project
2. Install
2.1. Layer
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.
2.2. Linting
Install lintr library via the R terminal to enable syntax checking. To do so start the R terminal and type below code.
install.packages("lintr")
2.3. LSP
This backend uses an external server to provide the various IDE integrations
and a more modern UI integration in spacemacs
.
It requires installing the external server via:
install.packages('languageserver')
Enable the lsp
layer to activate this backend as well as setting the layer
variable ess-r-backend
:
(ess :variables ess-r-backend 'lsp)
3. Options
Use a key binding to insert <-
:
(setq-default dotspacemacs-configuration-layers '((ess :variables ess-assign-key "\M--")))
4. Key bindings
4.1. Inferior REPL process
Send code to inferior process with these commands:
Key binding | Description |
---|---|
~SPC m '~ | start REPL |
~SPC m ,~ | send region, current function, or paragraph and step |
SPC m s i |
start REPL |
SPC m s s |
switch between file and REPL |
SPC m s S |
switch the process associate with file |
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 |
SPC m s D |
send function or paragraph and step |
SPC m s f |
send function and keep code buffer focused |
SPC m s F |
send function and focus REPL |
SPC m s l |
send line and keep code buffer focused |
SPC m s L |
send line and focus REPL |
SPC m s Q |
quit REPL |
SPC m s r |
send region and keep code buffer focused |
SPC m s R |
send region and focus REPL |
4.2. Help
Get help and helpers for inspecting objects at point are available in R buffers only.
Key binding | Description |
---|---|
SPC m h a |
help apropos |
SPC m h d |
display help on object |
SPC m h e |
describe object |
SPC m h h |
display help on object |
SPC m h i |
display index for package |
SPC m h m |
manual lookup |
SPC m h o |
display demos |
SPC m h p |
view data under point using [ess-R-data-view][ess-R-data-view] |
SPC m h r |
lookup reference |
SPC m h t |
view table using [ess-R-data-view][ess-R-data-view] |
SPC m h v |
display vignettes |
SPC m h w |
help web search |
C-j |
next item in REPL history |
C-k |
previous item in REPL history |
4.3. More interaction with the REPL
Helpers that provide further interaction with the REPL.
Key binding | Description |
---|---|
SPC m E / |
set working directory |
SPC m E TAB |
install package |
SPC m E d |
edit object source or dump() object into a new buffer |
SPC m E e |
execute a command in the ESS process |
SPC m E i |
install package |
SPC m E l |
load installed package |
SPC m E r |
reload ESS process |
SPC m E s |
set source style |
SPC m E t |
build tags for directory |
SPC m E w |
set "width" option |
4.4. R devtools
Interaction with the R
devtools
package.
Key binding | Description |
---|---|
SPC m D TAB |
interface for devtools::install() |
SPC m D a |
ask for a devtools command and runs it |
SPC m D c |
interface for devtools::check() |
SPC m D d |
interface for devtools::document() |
SPC m D i |
interface for devtools::install() |
SPC m D l |
interface for devtools::load_all() |
SPC m D r |
interface for devtools::revdep_check() |
SPC m D s |
set a package for ESS r-package commands |
SPC m D t |
interface for devtools::tests() |
SPC m D u |
interface for devtools::unload() |
4.5. Debugging
Tools for debugging
Key binding | Description |
---|---|
SPC m d ? |
ess-tracebug-show-help |
SPC m d ` |
show traceback and last error message |
SPC m d \~ |
display call current call stack |
SPC m d b |
set breakpoint |
SPC m d B |
set conditional breakpoint |
SPC m d d |
set debugging flag for function |
SPC m d e |
toggle the on-error action |
SPC m d i |
jump to point where the last debugger or traceback event occurred |
SPC m d k |
kill breakpoint |
SPC m d K |
kill all breakpoints in buffer |
SPC m d l |
Set breakpoint logger |
SPC m d n |
go to next breakpoint |
SPC m d N |
go to previous breakpoint |
SPC m d p |
go to previous breakpoint |
SPC m d o |
toggle breakpoint state |
SPC m d s |
set environment for evaluation |
SPC m d t |
toggle tracebug |
SPC m d u |
unflag function for debug |
SPC m d w |
trigger ESS watch mode |