Vim Rmarkdown Save

Rmarkdown support for vim

Project README


RMarkdown support for vim.


vim-rmarkdown requires

vim-rmarkdown's repo uses the typical bundle layout, so it's very simple to install using some plugin manager such as pathogen, Vundle or NeoBundle. For example, using Vundle you should add

Plugin 'vim-pandoc/vim-rmarkdown'

to your .vimrc, source it, and execute :PluginInstall.




Files with the .Rmd extension are automatically detected as RMarkdown files. vim-rmarkdown loads vim-pandoc and pandoc's markdown syntax, and adds some extra functionality specific to rmarkdown.


vim-rmarkdown extends pandoc's markdown syntax so

```{r qplot, fig.width=4, message=FALSE}
qplot(speed, dist, data=cars) + 

is recognized as an R code chunk, and

inline unformatted text like `r 1 + 2` 

as inline R.

R syntax is used within such fenced codeblocks and inline spans.


To render the file using rmarkdown, the user can execute the |:RMarkdown| command. Its syntax is


OUTPUT_TYPE is one of "pdf", "word", "html", "md", "beamer", "ioslides", "revealjs", "all", or a combination thereof (e.g., "pdf+html"). Command completion is provided for defining this variable.

RENDER_ARGS are arguments passed to rmarkdown::render(...), and OUTPUT_TYPE_ARGS are passed to output objects such as rmarkdown::pdf_document(...) and rmarkdown::word_document(...). (Refer to RMarkdown's documentation). Note RENDER_ARGS MUST be surrounded by '- ' and ' -'.

The bang (!) version opens the created file on successful execution. If the execution fails, a message will be shown and a buffer will open with Rscript's output (can be dismissed by pressing q in normal mode).

:RMarkdown builds a R expression that executes rmarkdown. For example, if the current file is "input.Rmd",

:RMarkdown pdf


Rscript -e 'library(rmarkdown);render("input.Rmd", "pdf_document")'

If OUTPUT_TYPE is ommited, RMarkdown produces an html document.

Some more examples:

:RMarkdown pdf latex_engine="xelatex", toc=TRUE
Rscript -e 'library(rmarkdown);render("input.Rmd", pdf_document(latex_engine="xelatex", toc=TRUE) 

:RMarkdown html - quiet=FALSE - toc=FALSE
Rscript -e 'library(rmarkdown);render("input.Rmd", html_document(toc=TRUE), quiet=FALSE)

:RMarkdown word - quiet=FALSE
Rscript -e 'library(rmarkdown);render("input.Rmd", "word_document", quiet=FALSE)

Note |:RMarkdown| doesn't parse the arguments itself, so the user must type them exactly as they should be used in R (for example, commas should separate arguments). For example,

:RMarkdown latex_engine="lualatex" bibliography="input.bib"

will cause rmarkdown to fail.


If the NrrwRgn plugin is available, vim-rmarkdown will register an extra command, |:RNrrw|, which "narrows" the current R chunk in a separate buffer. This command is also mapped to "<LocalLeader>ccn" in normal mode.

" vim: set ft=help :

Open Source Agenda is not affiliated with "Vim Rmarkdown" Project. README Source: vim-pandoc/vim-rmarkdown
Open Issues
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating