diff options
Diffstat (limited to 'ftplugin')
-rw-r--r-- | ftplugin/r.vim | 69 | ||||
-rw-r--r-- | ftplugin/rhelp.vim | 48 | ||||
-rw-r--r-- | ftplugin/rnoweb.vim | 59 |
3 files changed, 176 insertions, 0 deletions
diff --git a/ftplugin/r.vim b/ftplugin/r.vim new file mode 100644 index 00000000..a3d4da3c --- /dev/null +++ b/ftplugin/r.vim @@ -0,0 +1,69 @@ +" ftplugin for R files +" +" Author: Iago Mosqueira <i.mosqueira@ic.ac.uk> +" Author: Johannes Ranke <jranke@uni-bremen.de> +" Author: Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br> +" Maintainer: Johannes Ranke <jranke@uni-bremen.de> +" Last Change: 2007 Nov 21 +" SVN: $Id: r.vim 75 2007-11-21 13:34:02Z ranke $ +" +" Code written in vim is sent to R through a perl pipe +" [funnel.pl, by Larry Clapp <vim@theclapp.org>], as individual lines, +" blocks, or the whole file. + +" Press <F2> 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. +" +" After selecting a visual block, 'r' sends it to the R interpreter +" +" In insert mode, <M-Enter> sends the active line to R and moves to the next +" line (write and process mode). +" +" Maps: +" <F2> Start a listening R interpreter in new xterm +" <F3> Start a listening R-devel interpreter in new xterm +" <F4> Start a listening R --vanilla interpreter in new xterm +" <F5> Run current file +" <F9> Run line under cursor +" r Run visual block +" <M-Enter> Write and process + +" 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 tabstop so it is compatible with the emacs edited code. Personally, I +" prefer shiftwidth=2, which I have in my .vimrc anyway +set expandtab +set shiftwidth=4 +set tabstop=8 + +" Start a listening R interpreter in new xterm +noremap <buffer> <F2> :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R && echo -e 'Interpreter has finished. Exiting. Goodbye.\n'"&<CR><CR> + +" Start a listening R-devel interpreter in new xterm +noremap <buffer> <F3> :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R-devel && echo 'Interpreter has finished. Exiting. Goodbye.'"&<CR><CR> + +" Start a listening R --vanilla interpreter in new xterm +noremap <buffer> <F4> :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R -vanilla && echo 'Interpreter has finished. Exiting. Goodbye.'"&<CR><CR> + +" Send line under cursor to R +noremap <buffer> <F9> :execute line(".") 'w >> ~/.r-pipe'<CR> +inoremap <buffer> <F9> <Esc> :execute line(".") 'w >> ~/.r-pipe'<CR> + +" Send visual selected block to R +vnoremap <buffer> r :w >> ~/.r-pipe<CR> + +" Write and process mode (somehow mapping <C-Enter> does not work) +inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o + +" Send current file to R +noremap <buffer> <F5> :execute '1 ,' line("$") 'w >> ~/.r-pipe' <CR><CR> diff --git a/ftplugin/rhelp.vim b/ftplugin/rhelp.vim new file mode 100644 index 00000000..20d1e1ac --- /dev/null +++ b/ftplugin/rhelp.vim @@ -0,0 +1,48 @@ +" ftplugin for R help files +" +" Author: Johannes Ranke <jranke@uni-bremen.de> +" Last Change: 2007 Nov 21 +" SVN: $Id: rhelp.vim 75 2007-11-21 13:34:02Z ranke $ +" +" Usage: +" +" Press <F2> 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. +" +" 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 *.Rd,*.rd setf rhelp +" +" Maps: +" <F2> Start a listening R interpreter in new xterm +" <F9> Run line under cursor +" r Run visual block +" <M-Enter> 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 + +" Set tabbing +set expandtab +set tabstop=2 +set shiftwidth=2 + +" Start a listening R interpreter in new xterm +noremap <buffer> <F2> :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R && echo -e 'Interpreter has finished. Exiting. Goodbye.\n'"&<CR><CR> + +" Send line under cursor to R +noremap <buffer> <F9> :execute line(".") 'w >> ~/.r-pipe'<CR> +inoremap <buffer> <F9> <Esc> :execute line(".") 'w >> ~/.r-pipe'<CR> + +" Send visual selected block to R +vnoremap <buffer> r :w >> ~/.r-pipe<CR> + +" Write and process mode (somehow mapping <C-Enter> does not work) +inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o diff --git a/ftplugin/rnoweb.vim b/ftplugin/rnoweb.vim new file mode 100644 index 00000000..bbcd0ccb --- /dev/null +++ b/ftplugin/rnoweb.vim @@ -0,0 +1,59 @@ +" ftplugin for Sweave files containing both LaTeX and R code +" +" Maintainer: Johannes Ranke <jranke@uni-bremen.de> +" Last Change: 2007 Nov 21 +" SVN: $Id: rnoweb.vim 75 2007-11-21 13:34:02Z ranke $ +" +" Usage: +" +" Press <F2> 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: +" <F2> Start a listening R interpreter in new xterm +" <F9> Run line under cursor +" r Run visual block +" <M-Enter> 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 <buffer> <F2> :!xterm -T 'R' -e funnel.pl ~/.r-pipe "R && echo -e 'Interpreter has finished. Exiting. Goodbye.\n'"&<CR><CR> + +" Send line under cursor to R +noremap <buffer> <F9> :execute line(".") 'w >> ~/.r-pipe'<CR> +inoremap <buffer> <F9> <Esc> :execute line(".") 'w >> ~/.r-pipe'<CR> + +" Send visual selected block to R +vnoremap <buffer> r :w >> ~/.r-pipe<CR> + +" Write and process mode (somehow mapping <C-Enter> does not work) +inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o |