if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'r-lang') == -1 " ftplugin for Sweave files containing both LaTeX and R code " " Maintainer: Johannes Ranke " Last Change: 2007 Nov 21 " SVN: $Id: rnoweb.vim 75 2007-11-21 13:34:02Z ranke $ " " Usage: " " Press to open a new xterm with a new R interpreter listening " to its standard input (you can type R commands into the xterm) " as well as to code pasted from within vim. " " A Makefile for producing R noweb files is in included in my Vim script " R.vim: " http://www.vim.org/scripts/script.php?script_id=1048 " You can also look in my SVN repository under: " http://kri/viewcvs/*checkout*/Makefile.rnoweb?root=vim " " " After selecting a visual block, 'r' sends it to the R interpreter " " Add to filetypes.vim, if you don't use vim 7 " au BufNewFile,BufRead *.Rnw,*.rnw setf rnoweb " and/or " au BufNewFile,BufRead *.Snw,*.snw setf rnoweb " " Maps: " Start a listening R interpreter in new xterm " Run line under cursor " r Run visual block " Write and process R code " Only do this when not yet done for this buffer if exists("b:did_ftplugin") finish endif " Don't load another plugin for this buffer let b:did_ftplugin = 1 " Disable backup for .r-pipe setl backupskip=.*pipe " Set R friendly tabbing set expandtab set shiftwidth=2 " Start a listening R interpreter in new xterm noremap :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R && echo -e 'Interpreter has finished. Exiting. Goodbye.\n'"& " Send line under cursor to R noremap :execute line(".") 'w >> ~/.r-pipe' inoremap :execute line(".") 'w >> ~/.r-pipe' " Send visual selected block to R vnoremap r :w >> ~/.r-pipe " Write and process mode (somehow mapping does not work) inoremap :execute line(".") 'w >> ~/.r-pipe'o endif