R.vim : Send R code from a VIM buffer to R
script karma |
Rating 155/54,
Downloaded by 6249 |
Comments, bugs, improvements
|
Vim wiki
|
created by |
Johannes Ranke |
|
script type |
ftplugin |
|
description |
The plugin is not maintained any more. Please use the excellent vimscript #2628. It even lets you use the "r" key to send a visual selection to R (let vimrplugin_map_r=1) if you got used to this using my plugin. The following is only kept for archiving purposes.
Send R code from a VIM buffer to R on Unix type systems using funnel.pl from vimscript #221. Contains
README.R_with_vim
ftplugin/r.vim
ftplugin/rnoweb.vim
ftplugin/funnel.pl
syntax/rhelp.vim
syntax/rnoweb.vim
Makefile.rnoweb
Fernando Henrique Ferraz Pereira da Rosa is now a coauthor of this plugin (starting from version 0.03). He helped me fixing a bug and started the syntax file for mixed highlighting of Latex and R syntax (syntax/rnoweb.vim).
I set up a small project page for this plugin, featuring a screenshot:
http://www.uft.uni-bremen.de/chemie/ranke/?page=vim_R_linux
You can browse the subversion repository where these files are at home: http://kriemhild.uft.uni-bremen.de/viewcvs/?root=vim
Alternatives for Mac Os X include vimscript #1741 and vimscript #2104.
Under Windows, I am now using a quite simple solution, consisting of the installation of the rcom package for R which requires statconnDCOM from http://rcom.univie.ac.at and ActiveState Perl in the PATH (watch out if you use R tools, because GNU perl does not have the DCOM interface, so ActiveState perl needs to be first in the path).
My ftplugin/r.vim under Windows:
perl << EOF
sub rsourceclipboard
{
use Win32::OLE;
my $R = Win32::OLE->GetActiveObject('RCOMServerLib.StatConnector')
|| Win32::OLE->new('RCOMServerLib.StatConnector');
$R->Evaluate("source('clipboard', echo=TRUE)");
$R->Close;
}
EOF
vnoremap <buffer> r "*y:perl rsourceclipboard<CR>
This means that the visual selection is pasted to the clipboard and the clipboard content is sourced by R when the key "r" is pressed in visual mode.
|
|
install details |
For working with vim and R it is convenient to open a fresh xterm on a
fresh virtual desktop, covering the left half of the screen, and start vim,
check if the filetype is set correctly (:set ft), set it if necessary (e.g.
with :set ft=r) and press <F2>. This will open a second xterm listening to an R
interpreter. You can then send visually highlighted code from vim to R with
the vmap "r".
Caution: If there are adjacent tabs in the source code (can be made visible
with :set list, then they show up as ^I^I), then your R console will list
the contents of your working directory in the middle of interpreting your
code and most likely get confused. I don't recommend using tabs anyway (use
the vim option expandtab, as set in r.vim). A workaround for existing code
is to execute it with the R command source().
-----
As an alternative to this plugin on www.vim.org you can also install my Debian
package if you are using the Debian distribution:
$ su
$ echo "deb http://www.uft.uni-bremen.de/chemie/ranke/debs ./" >> /etc/apt/sources.list
$ apt-get update
$ apt-get install vim-r-plugin
Note that you have to activate addons like this plugin since vim version
7.1-022+1, July 2007. For system-wide activation, use
$ vim-addons -w install r-plugin
(details in README.Debian). You can then ignore the rest of this file.
-----
Making this plugin work requires the installation of the perl script,
ftplugin/funnel.pl. It just has to be in your $PATH and executable, so if you
are the only one working with the plugin on your machine, e.g.
mv ftplugin/funnel.pl ~/bin
chmod +x ~/bin/funnel.pl
(be sure ~/bin is in your $PATH variable) or if you have superuser privileges
you can put funnel.pl it into /usr/local/bin.
funnel.pl requires two perl libraries:
IO::Pty and Term::ReadLine
If you add the lines
au BufNewFile,BufRead *.R setf r
au BufNewFile,BufRead *.R set syntax=r
to your ~.vim/filetype.vim file (or create one with only these lines) then the
vimscript r.vim will be activated upon opening any file with a filename
matching *.R. The whole set of commands available at this point is elucidated
in ftplugin/r.vim.
I am also including my syntax files for R help files and R noweb files (Sweave files)
as well as a Makefile for processing R noweb files from within vim with :make. The
syntax files are part of vim starting from version 7.
I have one report of the funnel.pl not working on Mac OS X with the default perl on this
OS. If anybody gets this to work, please drop me a line. |
|
script versions (upload new version)
Click on the package to download.
R_with_vim_0.5-80.tar.gz |
0.5-80 |
2007-11-21 |
6.0 |
Johannes Ranke |
- Cleaned up ftplugin/*.vim files
- Added shiftwidth=2 and expandtab to ftplugin/rnoweb.vim
- Added documentation on using vim-addon-manager to activate the plugin under Debian based distributions |
R_with_vim_0.5-62.tar.gz |
0.5-62 |
2006-05-24 |
6.0 |
Johannes Ranke |
- Update of R help file syntax for new items in R 2.3.0
- Fixed tabbing in ftplugin/r.vim to suit emacs edited scripts.
- Added a note about the problem with adjacent tabs being pasted to the R console (see README.R_with_vim)
- Small fixes |
R_with_vim_0.5-54.tar.gz |
0.5-54 |
2006-04-18 |
6.0 |
Johannes Ranke |
- Up-to-date version of the R help and R noweb syntax files. Both of them are now part of vim 7.
- Added ftplugin/rnoweb.vim and Makefile.rnoweb for R noweb files. |
R_with_vim_0.5-38.tar.gz |
0.5-38 |
2006-02-28 |
6.0 |
Johannes Ranke |
- switched to funnel.pl from VIlisp 2.3
- carefully reviewed and extended the R help file syntax highlighting |
R_with_vim_0.03-36.tar.gz |
0.03-33 |
2005-08-09 |
6.0 |
Johannes Ranke |
Fixed the problem with the xterm not closing. Installation is also easier now because the bash script R-managed is not needed any more. |
R_with_vim_0.03-29.tar.gz |
0.03-29 |
2005-08-05 |
6.0 |
Johannes Ranke |
Fernando Henrique Ferraz Pereira da Rosa inspired me to improve the
plugin. Also added mixed syntax highlighting for Sweave files according
to the tip of his. |
R_with_vim_0.01-8.tar.gz |
0.01-8 |
2004-07-30 |
6.0 |
Johannes Ranke |
Small improvement of README file |
R_with_vim_0.01-6.tar.gz |
0.01 |
2004-07-28 |
6.0 |
Johannes Ranke |
Initial upload |
ip used for rating: 18.119.112.17
|