[英]Is it possible to use Sublime text 2 to work in with R-markdown-files?
我最近发现您可以很好地使用R-markdown(.Rmd)文件。 由于我喜欢将所有工作都放在Sublime text 2中,因此很高兴找到此软件包 。 尽管发给R的工作非常不错,这要归功于这篇文章 ,出于某种原因,sublime无法编译我的markdown文件。 在strg + shift + b而不是.md文件之后,出现此错误:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 337, in run_
File ".\exec.py", line 154, in run
TypeError: __init__() got an unexpected keyword argument 'shell_cmd'
测试文件具有以下形式
% Test document
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do `eiusmod` tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
```{r example_chunk, fig.width=5, fig.height=3}
x <- rnorm(100)
y <- rnorm(100)
plot(y ~ x, pch=20)
```
我使用python 2.7。 并安装了knitr的所有依赖项。
该软件包中的构建系统包含与Sublime Text 2不兼容的Run
变体,这就是导致您出现问题的原因。 这似乎是软件包作者的疏忽,因此可能值得提交错误报告。
同时,您可以通过修改构建文件来自行解决问题。 如果打开Packages\\SublimeKnitr\\knitr-Markdown.sublime-build
(如果未手动安装插件,请使用PackageResourceViewer ),您将看到以下内容:
{
"selector": "text.html.markdown.knitr",
"working_dir": "${project_path:${folder}}",
"env": { "LANG": "en_US.UTF-8" },
"cmd": [ "Rscript -e \"library(knitr); knit('$file', output='$file_path/$file_base_name.md')\"" ],
"shell": true,
"variants":
[
{
"name": "Run",
"working_dir": "$file_path",
"shell_cmd": "Rscript -e \"rmarkdown::render(input = '$file')\""
}
]
}
问题是Sublime Text 2不支持shell_cmd
(这似乎是Sublime Text 3的附加功能)。 主版本使用cmd
并将shell
设置为true来运行该shell,这是在Sublime Text 2中进行此操作的正确方法。
如果通过将shell_cmd
更改为cmd
并将字符串参数包装在方括号中并包括外壳线来修改变体,则:
"cmd": [ "Rscript -e \"rmarkdown::render(input = '$file')\"" ],
"shell": true
它应该为您工作。 请注意,构建文件是JSON,因此,所有内容都必须以逗号分隔,这一点很重要。
此处可能不需要添加"shell": true
部分。 它可能会在构建的早期保留下来。 我不熟悉Sublime Text 2的处理方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.