(摘要在底部)我使用Vim-R插件设置了Vim和R,它完美无瑕.我还在Vim中使用Latex-suite,可以毫无问题地创建,编译和查看.tex文件.对于knitr,我曾经使用Rstudio,但我真的想留在Vim.我刚刚开始使用vim-latex-suite,所以也许我错过了一些基本的东西,但是在我的Vim + Latex-Suite + knitr组合中出现了一些问题.
继副.Rnw用vim乳胶套房,我包括在我的vimrc这.Rnw文件应被解读为.tex文件里(虽然有人在该信息的评论中指出,应该在VIM-R-插件早在2011自动化但它没有:最初filetype被检测为rnoweb,当我尝试编译时,它抛出一个错误,说我正在尝试编译非.tex文件).
现在,如果我使用以下代码作为.Rnw文件:
\title{Data analysis}
\begin{document}
\maketitle
\Section{Introduction}
Some text as introduction
\end{document}
Run Code Online (Sandbox Code Playgroud)
它编译没有问题.当我包括
<<>>=
1 + 1
@
Run Code Online (Sandbox Code Playgroud)
它编译,但它打印到
!! ?? = 1 + 1
@
没有块颜色和!和?转过身来.当我包含注释(# comment)时,它会返回错误说明
您不能在垂直模式下使用'宏参数字符#'
但它确实编译和打印为
评论
当我使用它来逃避时\,没有显示错误并打印出来
#comment
我正在使用macvim 7.4并更新了所有插件(使用Bundle安装/更新)和R 3.1.2(最新更新).
所以,总结一下:vim + r有效,vim + latex有效,但vim + r + latex不起作用.R代码未执行且注释显示错误.
如果有人能指出我正确的方向,我们将不胜感激!
自发布此问题以来,我已经进行了一些研究并找到了解决方案。我必须向乔什·戴维斯(Josh Davis)贡献很多(也许是全部?),而我大部分时间都来自他。他指点我看我的.Rnw文件。但是,对于像我这样没有经验的用户,我需要一些时间和额外的信息来源。因此,对于其他用户而言,此概述可能会很有趣。
现在,在终端中进行一些初始设置后,我可以在VIM中编辑.Rnw文件,同时观看我的PDF表单。
工作流程:
$ Rscripts ... (由kicker调用)将.Rnw编译为.tex组件安装:
安装踢脚
gem install kicker -s http://gemcutter.org
Run Code Online (Sandbox Code Playgroud)
我为“踢腿”制作了一个“食谱”来观看.Rnw文件,当它更改时,它将执行终端命令。我knitr.kick把它放在我的主目录中:
#!/bin/bash
FILE="${1}"
KNITR="echo \"Rerunning Knitr..\"; Rscript -e \"library(knitr); knit('./${FILE}')\""
echo "Watching ${FILE}..."
kicker -e "${KNITR}" ${FILE}
Run Code Online (Sandbox Code Playgroud)
我通过添加到.bash_profile来创建别名来调用此踢脚程序:
knitr="~/knitr.kick"
Run Code Online (Sandbox Code Playgroud)
后安装latexmk的,我可以打电话
$ latexmk -pvc -pdf example.tex
Run Code Online (Sandbox Code Playgroud)
现在我可以打电话给:
$ knitr example.Rnw
Run Code Online (Sandbox Code Playgroud)
在我的终端中,将查看example.Rnw实例,每次对其进行更改时,都会运行Rscript并将.Rnw文件编译为.tex文件。latexmk会将.tex文件编译成PDF。
这是我的第一个回答,因此,如果缺少某些信息,请告诉我。
ps可以在此处找到VIM中Sweave和Latex语法突出显示的出色混合