我一直是 Vim 的忠实粉丝,因为它的 Vim-latex 套件非常出色,提供了极其有用的键绑定和自动完成功能。然后我安装vim-r-plugin
并打开了一个.Rnw
Sweave 文件。虽然语法高亮和其他 R 相关功能(如快捷键)可以正常工作,但 LaTeX 快捷键不再起作用。例如,如果我SSE
再输入它,就会出现\section{}
。但如果我打开一个 .tex 文件,这些快捷键就可以正常工作。我在 Windows 7 中使用 gVim 7.3。任何建议都将不胜感激。
答案1
您需要将.Rnw 文件与 tex 关联。
最直接的方法是打开 .Rnw 文件并发出以下命令:
:set filetype=tex
完成上述操作后,您习惯的 vim-latex 行为就会恢复。要以良好的方式将其纳入您的 vimrc 中,请按以下步骤操作:这里在 stackoverflow 问题中描述。 以机智:
autocmd BufRead,BufNewFile *.Rnw set filetype=tex
插件与文件类型相关联,据我所知,一个文件在特定时间只能有一种文件类型(否则您可能会遇到各种插件功能之间发生冲突,UltiSnips 将不知道提供哪些片段等)。
当然,您可以手动完成此操作,但如果您想避免set filetype=
每次要在与文件类型相关的插件之间切换时都必须这样做,则可以在 .vimrc 中使用以下脚本:
"------------------------------------
" Toggle filetypes R, Rnw and Tex
"------------------------------------
let b:myFileType=-1
let g:myFileTypeList=["tex","rnoweb","r"]
function! ToggleFileType()
let b:myFileType=b:myFileType+1
if b:myFileType>=len(g:myFileTypeList) | let b:myFileType=0 | endif
execute "set filetype=".get(g:myFileTypeList, b:myFileType)
echo "Filetype set to:" g:myFileTypeList[b:myFileType]
endfunction
nmap <silent> <F12> :call ToggleFileType()<CR>
当然,您可以设置自己的键盘快捷键,更改<F12>
为适合您的快捷键。