jalvesaq / vimcom Goto Github PK
View Code? Open in Web Editor NEW*Deprecated* package used to intermediate the communication between Vim and R
*Deprecated* package used to intermediate the communication between Vim and R
Hi,
I had vimcom installed on my windows machine and I was using it successfully for my development. However, recently when I run the \rf command from vim it starts a new [R] window but it's hidden and when I click on the icon on taskbar nothing comes up.
Thanks for your help
Hamid
Hey, just tried building the dev version on my server and seems to depend on X11. Could that be made optional?
checking for X... no
configure: creating ./config.status
config.status: creating src/Makevars
Information about X11:
x_includes : NONE
x_libraries : NONE
X_CFLAGS :
X_PRE_LIBS :
X_EXTRA_LIBS :
X_LIBS :
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -O3 -pipe -g -c vimcom.c -o vimcom.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -O3 -pipe -g -c vimremote.c -o vimremote.o
vimremote.c:15:22: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make: *** [vimremote.o] Error 1
ERROR: compilation failed for package 'vimcom'
I load vimcom
in .Rprofile
inside an if (interactive)
block. Vim isn't involved in any of this.
If I start an R session on directory ~/A
, leave it running, and then open a different terminal and start a new session on directory ~/B
, the second session is also started on directory ~/A
, i.e., getwd()
returns ~/A
on both sessions. I don't think this was the default behaviour... Can you confirm this?
Thanks
Currently there is nothing stopping anyone from executing arbitrary commands through the vimcom server. A simple authentication key generated at server startup that ties a vim and R session together would make this much more secure.
I am new to R, but I have been using Vim for sometime. I installed vim-r-plugin, I tried to follow all the instructions, and it is loading from vim in the terminal and MacVim as well (after \rf R console opens up and I can send commands from Vim to R with \d or \q without issues). However, after \rf it gives me a message that vimcom was not loaded yet (in both the terminal and MacVim) and therefore when I try to do omni-completion nothing shows in the list (it actually asks whether vimcom was loaded). I also have YouCompleteMe installed and I thought that was the issue initially but even after disabling it the issue still persists.
Just want to know if vimcom is supposed to load and work in MacVim (therefore omni-completion), and if yes then how can I potentially solve the problem. Thanks!, and great plugin btw.
Hi I recently tried Nvim-R on Linux, Vim 8.0 and R 3.4. I installed everything and I could do (finally) \rf, but I got an error message:
During startup - Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘nvimcom’
2: package ‘nvimcom’ in options("defaultPackages") was not found
nvimcom:::nvim.buildomnils("datasets")
Error in loadNamespace(name) : there is no package called ‘nvimcom’
Calls: ::: ... tryCatch -> tryCatchList -> tryCatchOne ->
Execution halted
I tried including the following in my .Rprofile in my home directory:
if(Sys.getenv("NVIMR_TMPDIR") == ""){
options(defaultPackages = c("utils", "grDevices", "graphics", "stats", "methods"))
} else {
options(defaultPackages = c("utils", "grDevices", "graphics", "stats", "methods", "nvimcom"))
}
But nothing seems to work. Any help would be appreciated!
Thank you!
Hi,
If homebrew is used to install R (v3.2.2), the install.packages
command fails on Mac OS Yosemite (v 10.10.5):
install.packages("vimcom_1.2-6.tar.gz", repos = NULL, type = "source", configure.args = "--enable-clientserver")
It complains about missing X11/Xlib.h. I think the issue lies in when the Xquartz is installed the X11 libraries and headers are placed into /opt/X11. As my R is installed into /usr/local/Cellar/R/3.2.2
it doesn't know where to look for the X11 (even though I installed R through homebrew with the --with-x11
parameter).
I got around the install.packages
issue by setting the --x-includes
and --x-libraries
parameters such that they explicitly indicate where the X11 libraries and headers are:
install.packages("vimcom_1.2-6.tar.gz", type = "source", configure.args="--enable-clientserver, --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib", repos = NULL)
Fong
I'm using the R-vim-plugin on a Mac, with terminal vim (installed from brew) and tmux. I've just installed vimcom from R using the devtools and everything went fine. But when I launch the R session it gives me the warning:
Warning message:
In fun(libname, pkgname) : Missing environment variable: "VIMR_COMPLDIR"
Has vimcom succesfully launched? How can I be sure?
Thanks and congrats for this awesome plugin!!
Xavi.
When I use the development version of the r-plugin and the development version of VimCom, am able to start an R session in tmux---in that I gain access to a terminal that I can push commands from a source file to---but I cannot load the Object Viewer. <local leader>ro
creates a new panel for the object viewer, but then there is an error that the VimCom port cannot be found. The notes in the documentation do not address the case where <local leader>rf
works fine, but <local leader>ro
fails.
With the latest stable releases of VimCom and the Vim-R-plugin, this is not an issue.
Edited to apply markup.
Hi there!
I'm trying to install the production vimcom package on a Mac wit R 2.15.2
download.file("http://www.lepem.ufc.br/jaa/vimcom_0.9-3.tar.gz", destfile = "vimcom_0.9-3.tar.gz")
install.packages("vimcom_0.9-3.tar.gz")
but apparently R complains about
`package ‘vimcom_0.9-3.tar.gz’ is not available (for R version 2.15.2)``
Any thoughts?
Thanks!
X.
I am getting the classic Vimcom port not found error even when I:
I dont know what to do.
Hi, I installed vimcom.plus and Vim-R-plugin both from github.
And add
library(setwidth)
options(vimcom.verbose = 1)
#library(vimcom)
library(vimcom.plus)
Try in R:
$ R
Got the follwoing message
"
vimcom: It seems that R was not started by Vim. The communication with Vim-R-plugin will not work.
"
help info about vimcom.plus:
$help(package=vimcom.plus)
Package: vimcom.plus
Version: 0.9-9
Date: 2013-09-22
sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC=C LC_TIME=zh_CN.UTF-8 LC_COLLATE=zh_CN.UTF-8
[5] LC_MONETARY=zh_CN.UTF-8 LC_MESSAGES=zh_CN.UTF-8 LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices utils datasets stats methods base
other attached packages:
Try in Vim:
$ vim test.r
\rp
got the follwoing message:
"
VimCom port not found.
session not found: vimrpluginalyan1380715406tmptestr
"
What can I do to make it work? Much thanks!
I got the following error when trying to install VimCom:
Error in namespaceExport(ns, exports) :
ej defineret eksport: vim.list.args, vim.srcdir, vim.plot, vim.interlace.rnoweb, vim.interlace.rrst, vim.print, vim.names, etags2ctags, vim.interlace.rmd
Excuse the danish.
Edit: The danish means "Undefined export: vim.list.args, vim.srcdir, etc".
I just started playing around with neovim this week and wasn't sure if the window resizing issue was a neovim issue or rplugin issue or what. Now, I see that you have fixed part of it with af3fca0, but the same issue still occurs when you close R from nvim as well (\rq)--the neovim tmux pane expands to fill the whole tmux window after closing the R pane, but the neovim window itself doesn't resize automatically. I'm fairly confident this is the same issue that you just fixed for starting R. Can you apply a similar fix for when you stop R? Since the issue happens after R stops, maybe it would be best to apply the fix in Vim-R-plugin rather than VimCom?
Since this is project was incorporated into Nvim-R, I will delete this repository on February 1, 2018.
I have installed the latest released versions of VimCom and Vim-R-Plugin on Arch Linux. The plugin seems to run well in a Tmux session, but VimCom does not load when started in a terminal ("The package vimcom wasn't loaded yet."). I use Termite terminal and also tested xterm, same result.
I really dont't want to use Tmux since I use a tiling window manager and learning as well as configuring Tmux to my liking would take too much time and effort and only complicates using the plugin.
Notice rmarkdown is now based on pandoc. The knit -> pandoc pipeline is a bit outdated. Currently rmarkdown is able to generate pdf, html (+shiny) and beaver itself (of course, with the help of its friends pandoc and knitr).
I get the following error message when I start the R consol from Vim-R-plugin:
error: cannot change working directory
In the error message my folder appears with a æ instead of an æ. I guess there's some problem with reading non-ascii character, is there anyway around this?
If I start R by itself it correctly responds to a keyboard interrupt Ctrl-C (Using the following code to test)
Sys.sleep(10)
If I open an R file with vim, then start R with :call StartR("R")
it also correctly responds.
If I am within tmux, start R and try to interrupt it works fine.
However if I am in tmux, open an R file with vim, and start R with :call StartR("R")
the R instance does not respond to any keyboard interrupts.
I get the same results regardless if I use Iterm2 or Terminal
I am pretty sure this worked at one point in the past, I am not sure what part (tmux, vim, R) changed that broke this. The R I am using is the precompiled version from CRAN, but I have the same results compiling from source using homebrew
I know this may be hard to reproduce (especially if you don't use OSX). Let me know if there is any more information that might help, or if you have any suggestions on things to try to get it working.
Here is the relevant session info
Session info-------------------------------------------------------------------
setting value
version R version 3.1.2 (2014-10-31)
system x86_64, darwin13.4.0
ui X11
language (EN)
collate en_US.UTF-8
tz America/New_York
Packages-----------------------------------------------------------------------
vimcom * 1.1.5 2014-11-25 Github (jalvesaq/VimCom@5a673ad)
I'm trying to set up vimrplugin+tmux+vimcom on a server (no GUI) to be able to work remotely. I have installed some minimal X server so that vim could communicate with R. However, when I start R from vim launched in tmux I am getting an error that vimcom package was not loaded. And vimcom is installed and avaiable to R (I can load it manually via library()
). How can I debug this?
More detailed steps (the server runs Ubuntu 14.04 64bit):
--servername
option.xserver-xorg-core
and libx11-dev
.tmux
tmux
I launch vim with vim --servername VIM file.R
\rf
At this moment R console opens on the right OK, but at the bottom of vim there is a message
waiting vimcom loading...
and then
Package vimcom wasn't loaded yet
(or something like that, it flashes quickly)
I can send commands to R, but I cannot open help pages with :Rhelp
, so seems the communication between vim and R goes only one way (vim -> R).
Can you help and suggest what should I check in my setup?
Thanks!
I've been having issues recently with the R console in vim-r becomes unresponsive after certain errors are raised.
What happens is that I send one or more lines of code to the console, and the error is printed out. Afterwards, I can enter continuing to enter commands as usual and they will be executed, however, nothing except for message
, warning
, and error
calls result in any output -- print
calls and variable inspection ceases to function.
To make things worse, this does not appear to happen after any kind of error, but only some. Fortunately I have found one simple way to reproduce the issue on my machine by loading an annotation library with the recent version of Bioconductor:
This occurs both when sending lines from vim, or simply when attempting to execute the command inside an R console from within tmux (after vimcom has been loaded in the usual manner.)
Example:
R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
vimcom 1.0-0 loaded
> x=5
> x
[1] 5
> print('test')
[1] "test"
> message('test')
test
> library(org.Mm.eg.db)
Loading required package: AnnotationDbi
Loading required package: stats4
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB
The following object is masked from ‘package:stats’:
xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted, lapply, Map, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique,
unlist, unsplit
Loading required package: Biobase
Welcome to Bioconductor
Vignettes contain introductory material; view with 'browseVignettes()'. To cite Bioconductor, see 'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: GenomeInfoDb
Loading required package: S4Vectors
Loading required package: IRanges
Attaching package: ‘AnnotationDbi’
The following object is masked from ‘package:GenomeInfoDb’:
species
Loading required package: DBI
Error: org.Mm.egPFAM is defunct. Please use select() if you need access to PFAM or PROSITE accessions.
> x
> print('test')
> message('test')
test
> system('touch test.file')
Here is some more information about my system:
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] org.Mm.eg.db_3.0.0 RSQLite_0.11.4 DBI_0.3.1 AnnotationDbi_1.28.0
[5] GenomeInfoDb_1.2.0 IRanges_2.0.0 S4Vectors_0.4.0 Biobase_2.26.0
[9] BiocGenerics_0.12.0 setwidth_1.0-3 colorout_1.0-3
More info
Arch Linux
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 11 2014 03:20:17)
Included patches: 1-473
tmux 1.9_a-1
Any ideas what might be causing the issue? Let me know if there is any other information I can provide to assist, or if you have any suggestions for gaining more insight into the issue myself.
Cheers,
Keith
That being said, I'm getting a lot of "junk", for lack of a better term, showing up in the R window. It's the lines beginning with 0gn
. They look like artifacts of temporary paths that might be used behind the scenes to link vim + tmux + R.
Is this to be expected?
I am not sure if this is an issue with my R installation.
This is the version of R I am running:
R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)
and this is the error I get:
> devtools::install_github('jalvesaq/VimCom')
Downloading github repo jalvesaq/VimCom@master
Installing vimcom
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL \
'/private/var/folders/rc/_l4njjr528z8t6bk_kfzdg4h0000gn/T/RtmpTjIvVL/devtools763f27ddbfb3/jalvesaq-VimCom-89c6c01' \
--library='/Library/Frameworks/R.framework/Versions/3.1/Resources/library' \
--install-tests
* installing *source* package ‘vimcom’ ...
configure: creating ./config.status
config.status: creating src/Makevars
** libs
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c vimcom.c -o vimcom.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c vimremote.c -o vimremote.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c vimthings.c -o vimthings.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o vimcom.so vimcom.o vimremote.o vimthings.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
(cd apps; make)
cc -std=gnu99 -fPIC -O2 -c vimr.c -o vimr.o
cc -std=gnu99 -shared -o libVimR.so vimr.o
installing via 'install.libs.R' to /Library/Frameworks/R.framework/Versions/3.1/Resources/library/vimcom
** R
** preparing package for lazy loading
Error in readRDS(pfile) : error reading from connection
ERROR: lazy loading failed for package ‘vimcom’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/vimcom’
Error: Command failed (1)
I am currently running the development versions of both vimcom and the vim-r-plugin in Linux using vim from the terminal. Whenever I launch R from within vim (rf), I always see an error that tmux can't establish the environment. When I open the tmux.conf file in /tmp, it appears that in all of the lines which cause the error (3, 4, 16) the -g switch is not used, but I do not know if that is intentional.
R behaves as though vimcom is not loaded, meaning I can't open help entries or update the object browser (as described in the documentation). This is happening despite the fact that library(vimcom) is in my .Rprofile, and I have launched vim with the --servername option. If I use sessionInfo() to check if vimcom is loaded, it does show it.
I have also been able unable to debug much at all because vimcom produces no output on the R console, even when I use vimcom.verbose=4 in my .Rprofile.
Unfortunately I am at loss when trying to install VimCom with devtools on Mac OS X 10.9.5 and with R 3.1.1.
Can you help, please?
Hello,
I installed vimcom and the r-plugin a few weeks ago and everything seemed to be going fine. However, today for some reason when trying to open the object browser I got the vimcom port not found error. I re-installed vimcom 1.1.0 and tried again but got the same error message. I then looked at git hub and there was a suggestion to add options(vimcom.verbose = 1) (I understand this was for a different of the package but I thought what the hell, why not try it?) to the ~/.Rprofile I did this to no success. What is more puzzling is that when I open R in my terminal emulator is says that vimcom1.1.0 is loaded. My .Rprofile is below as well as a screenshot of my terminal emulator. I do not know what the problem is.
if(interactive()){
if(nchar(Sys.getenv("DISPLAY")) > 1)
options(editor = 'gvim -f -c "set ft=r"')
else
options(editor = 'vim -c "set ft=r"')
# See ?setOutputColors256 to know how to customize R output colors
# library(colorout)
# library(setwidth)
#options(vimcom.verbose = 1)
library(vimcom)
# See R documentation on Vim buffer even if asking for help in R Console:
if(Sys.getenv("VIM_PANE") != "")
options(pager = vim.pager)
}
Hi Jakson,
I'm having an issue after updating Vim-R-plugin and vimcom.plus to their latest versions.
After firing up R from vim I get this warning message:
vimcom.plus: Vim's servername is unknown.
Please, in Vim, enter Normal mode and type:
:h r-plugin-nox
Any idea what's wrong?
Thank you.
> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=C
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=C LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] BiocInstaller_1.12.1 vimcom.plus_1.0-0 colorout_1.0-2 setwidth_1.0-3
loaded via a namespace (and not attached):
[1] tools_3.0.3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.