将.Rnw与vim乳胶套件关联

将.Rnw与vim乳胶套件关联,r,latex,vim,sweave,R,Latex,Vim,Sweave,我相信这是最基本的东西。我刚刚开始使用gvim和latex套件。但是,我希望在编辑扩展名为.Rnw的sweavefile时加载latex套件 我的vimrc看起来像这样 " These settings are needed for latex-suite filetype indent on filetype plugin on filetype on let g:tex_flavor='latex' set grepprg=grep\ -nH\ $* "let g:Tex_Folding=0

我相信这是最基本的东西。我刚刚开始使用gvim和latex套件。但是,我希望在编辑扩展名为.Rnw的sweavefile时加载latex套件

我的vimrc看起来像这样

" These settings are needed for latex-suite
filetype indent on
filetype plugin on
filetype on
let g:tex_flavor='latex'
set grepprg=grep\ -nH\ $*
"let g:Tex_Folding=0 "I don't like folding.
set iskeyword+=:

我想我可以在这里设置一些选项,使vim将Rnw视为.tex?

将一个文件放在/usr/share/vim/vimfiles/ftdetect(用于全局)或.vim/ftdetect(用于本地)中,名为Rnw.vim,如下所示:

" Vim filetype detection plugin
" Language:    sweavefile

autocmd BufRead,BufNewFile *.Rnw set filetype=tex
编辑:我很确定你也可以将这个自动命令放在你的.vimrc中,因为它是在程序启动时加载的,在加载任何文件之前加载的,但这是文件类型检测的自然位置


编辑:如果您想对这些文件进行与TeX不同的处理,您可以将文件类型设置为rnw,根据需要将脚本添加到ftplugin、indent和syntax目录中,最有可能的做法是寻找TeX脚本的来源,然后自己处理。

希望这些指针能够帮助您:

  • 看看这个:
  • 这也是以前的情况

很酷。文件类型检测基本上与我建议的相同,但这将为您提供嵌入式语法区域,这非常好。为了让latex套件也能加载,正如我在回答中提到的,你需要为这个文件类型添加一个ftplugin,它的加载与你在TeX文件类型插件中看到的加载相同(在ftplugin中,无论latex套件安装在哪里)。谢谢Shane。Chip Campbell在R-help列表上的帖子对我来说有点神秘——因为我对vim中的语法集群一无所知。但我想我可以复制约翰内斯·兰克提供的文件。费拉兹的帖子写得很好,我认为很容易理解。费拉兹和兰克使用不同的方法来实现同样的目标,是吗?有一种方法比另一种更好吗?我把你的建议放在ftdetect中(必须先创建它)。现在gvim以latex模式打开.Rnw文件。这就是我想要的。谢谢!供参考:现在自动执行此操作。