Integrate Vim-R-plugin with remote ssh-byobu session? - vim

I am following the inspiring example here to setup Vim for R development. One difference is that I am running Vim and R on a remote server via ssh session. And this ssh starts byobu, which has tmux started automatically whenever I login. What I want is to make an Vim-R-Dev command/alias so that:
After logging in with the ssh and tmux is already running, I can type Vim-R-Dev to open up a window with panes look like in the attached image:
Illustration of sending R code from several vim viewports (in middle)
to an R session (on top right). The vim session can run on a local
computer, while the R session can run on the same or a remote system.
The snapshot also illustrates the omni completion utility of the
vim-r-plugin (purple box), viewing of an R function help document in a
separate tmux pane (bottom right) and the NERDTree file browser
(left).

After a while of fumbling with Vim and R, I decided to quit this approach. My feeling was that the combination is not mature enough for production. So I tried to find and found EMACS + ESS. Yes, emacs is the rival to Vim as a programmer/geek editor. And it seems I am a traitor of Vim jump to Emacs when the two are at war :-) It doesn't have to be that way.
At first I installed emacs and ess plugin/package and tried to learn the basics. I was very happy about how ESS is much more mature than vimR. And the way emacs works with packages and configuration make me much more happy than when I used Vim. This is partly because I have some basic background and was willing to deal with ELISP, the LISP programming language variant that is made for Emacs. An advice for some one have Vim skills though: You'd better off install Evil package from the beginning so you have the power of quick editing in Vim but the whole pack of other wonderful things, i.e. robustness, fine customization, in-place documentation. I have discussed many things about Emacs and ESS here on stackoverflow.com and at emacs.stackexchange.com too. The essential setup for R programmer is:
Emacs, ESS, Evil, Helm*, auto-complete, auctex, polymode, r-autoyas. Following are full list of additional packages that I installed. The one that allows me to edit and run code on remote server is called tramp with X forwarding. I will post more on this if there are requests.
ac-ispell 0.7 installed ispell completion source for auto-complete
async 1.3 installed Asynchronous processing in Emacs
auctex 11.88.6 installed Integrated environment for *TeX*
auto-complete 1.5.0 installed Auto Completion for GNU Emacs
auto-complete-e... 0.0.7 installed Exuberant ctags auto-complete.el source
auto-complete-pcmp 0.0.2 installed Provide auto-complete sources using pcomplete results
auto-dictionary 1.1 installed automatic dictionary switcher for flyspell
auto-package-up... 1.4 installed Automatically update Emacs packages.
auto-yasnippet 0.3.0 installed Quickly create disposable yasnippets
bash-completion 2.0.0 installed BASH completion for the shell buffer
bind-key 20140601 installed A simple way to manage personal keybindings
bog 1.0.0 installed Extensions for research notes in Org mode
bongo 1.0 installed play music with Emacs
boon 0.1 installed Ergonomic Command Mode for Emacs.
bug-hunter 0.5 installed Hunt down errors in elisp files
calfw 1.4 installed Calendar view framework on Emacs
column-enforce-... 20140902.949 installed Highlight text that extends beyond a column
column-marker 20121128.843 installed Highlight certain character columns
company 0.8.12 installed Modular text completion framework
ctable 20140304.1659 installed Table component for Emacs Lisp
ctags 1.1.1 installed No description available.
ctags-update 0.2.0 installed (auto) update TAGS in parent directory using exuberant-ctags
cython-mode 0.23.2.2 installed Major mode for editing Cython files
d-mode 2.0.6 installed D Programming Language mode for (X)Emacs
dash 2.11.0 installed A modern list library for Emacs
diminish 0.44 installed Diminished modes are minor modes with no modeline display
discover 0.3 installed discover more of Emacs
el-autoyas 0.5 installed Automatically create Emacs-Lisp Yasnippets
elpy 1.8.1 installed Emacs Python Development Environment
epl 71.4.8098 installed Emacs Package Library
ess 20150810.826 installed Emacs Speaks Statistics
ess-R-data-view 20130509.458 installed Data viewer for GNU R
ess-R-object-popup 20130302.336 installed popup description of R object
ess-smart-equals 20150201.2201 installed better smart-assignment with =-key in R and S
ess-smart-under... 20131229.1851 installed Ess Smart Underscore
evil 20150810.426 installed Extensible Vi layer for Emacs.
evil-leader 20140606.543 installed let there be <leader>
evil-org 20150513.1610 installed evil keybindings for org-mode
expand-region 20150804.2210 installed Increase selected region by semantic units.
f 20150605.927 installed Modern API for working with files and directories
find-file-in-pr... 20150722.2347 installed Find files in a project quickly.
flx 20140921.739 installed fuzzy matching with good sorting
flx-ido 20140821.2033 installed flx integration for ido
ggtags 20150718.2227 installed emacs frontend to GNU Global source code tagging system
gh 20150126.1125 installed A GitHub library for Emacs
git 20140128.241 installed An Elisp API for programmatically using Git
git-auto-commit... 20150404.751 installed Emacs Minor mode to automatically commit and push
git-commit 20150805.2024 installed Edit Git commit messages
git-commit-mode 1.0.0 installed Major mode for editing git commit messages
git-messenger 20150314.602 installed Pop up last commit information of current line
goto-chg 20131228.1459 installed goto last change
helm 20150805.54 installed Helm is an Emacs incremental and narrowing framework
helm-ack 20141030.526 installed Ack command with helm interface
helm-core 20150805.206 installed Development files for Helm
helm-github-stars 20150625.1523 installed Helm integration for your starred repositories on github
helm-mode-manager 20140224.1504 installed Select and toggle major and minor modes with helm
highlight-inden... 20150307.208 installed Minor modes for highlighting indentation
hippie-expand-s... 20130907.132 installed Hook slime's completion into hippie-expand
imenu-list 20150804.705 installed Show imenu entries in a seperate buffer
key-chord 20150808.1705 installed map pairs of simultaneously pressed keys to commands
latex-extra 20150806.1521 installed Adds several useful functionalities to LaTeX-mode.
latex-pretty-sy... 20150409.240 installed Display many latex symbols as their unicode counterparts
latex-preview-pane 20150519.1244 installed Makes LaTeX editing less painful by providing a updatable preview pane
let-alist 1.0.4 installed Easily let-bind values of an assoc-list by their names
log4e 20150105.505 installed provide logging framework for elisp
logito 20120225.1255 installed logging library for Emacs
magit 20150807.401 installed A Git porcelain inside Emacs
magit-gh-pulls 20150723.1144 installed GitHub pull requests extension for Magit
magit-popup 20150730.1344 installed Define prefix-infix-suffix command combos
makey 20131231.630 installed interactive commandline mode
markdown-mode 20150727.855 installed Emacs Major mode for Markdown-formatted text files
markdown-toc 20150715.914 installed A simple TOC generator for markdown file
monokai-theme 20150521.2257 installed A fruity color theme for Emacs.
org-ac 20140302.413 installed Some auto-complete sources for org-mode
org-autolist 20150118.1837 installed Improved list management in org-mode
pcache 20150125.1653 installed persistent caching for Emacs
php-auto-yasnip... 20141128.1411 installed Creates snippets for PHP functions
php-mode 20150729.213 installed Major mode for editing PHP code
pkg-info 20150517.443 installed Information about packages
polymode 20150729.734 installed Versatile multiple modes with extensive literate programming support
popup 20150626.711 installed Visual Popup User Interface
popup-complete 20141108.1908 installed completion with popup
popwin 20150315.600 installed Popup Window Manager.
powerline 20150628.1957 installed Rewrite of Powerline
powerline-evil 20140517.1 installed Utilities for better Evil support for Powerline
projectile 20150807.620 installed Manage and navigate projects in Emacs easily
pyvenv 20150503.941 installed Python virtual environment interface
r-autoyas 20140101.710 installed Provides automatically created yasnippets for R function argument lists.
real-auto-save 20150701.815 installed Automatically save your all your buffers/files at regular intervals.
rtags 20150804.2337 installed No description available.
s 20140910.334 installed The long lost Emacs string manipulation library.
scala-mode2 20150617.2350 installed Major mode for editing Scala >= 2.9
scala-outline-p... 20150702.937 installed scala file summary popup
seq 20150709.1040 installed Sequence manipulation functions
session 20120510.1700 installed use variables, registers and buffer places across sessions
skeletor 20150228.1557 installed Provides project skeletons for Emacs
sx 20150718.625 installed StackExchange client. Ask and answer questions on Stack Overflow, Super User, and the likes
twilight-anti-b... 20140810.34 installed A soothing Emacs 24 light-on-dark theme
undo-tree 20140509.522 installed Treat undo history as a tree
use-package 20150731.2330 installed A use-package declaration for simplifying your .emacs
which-key 20150803.1211 installed Display available keybindings in popup
window-purpose 20150715.439 installed Purpose-based window management for Emacs
with-editor 20150710.252 installed Use the Emacsclient as $EDITOR
yaml-mode 20141125.37 installed Major mode for editing YAML files
yasnippet 20150804.1120 installed Yet another snippet extension for Emacs.
yatemplate 20150305.1526 installed File templates with yasnippet
yaxception 20150105.652 installed Provide framework about exception like Java for Elisp
zygospore 20140703.152 installed reversible C-x 1 (delete-other-windows)

Related

How to add python support for vim without destroying up all the plugins?

I started using vim earlier this summer and have recently started to add plugins. Todays challenge is to install YouCompleteMe.
Problem: During the installation process I noticed that my vim version (7.4) doesn't have support for python/python3.
Question: How can I fix this without messing up all my plugins/.vimrc file?
Will a clean install even affect my plugins/.vimrc?
I read some where that I should install 'vim-nox'.. Should I?
My setup: Ubuntu 16.04. Vim 7.4. Plugins are installed via Pathogen.
Thanks in advance for your replies!
Kind regards, Edvin
As long as your plugins are installed in $HOME/.vim (or MsWindows equivalent), and not into /etc/vim or /usr/share/vim, there should be no problem: you can upgrade your vim version without impacting what you have already installed.
See :h 'rtp' and :h startup.
Plugins and vimrc are just files. They can't be executed stand alone. Further, they come into power, only when vim is running.
So, your uninstallation/installation of vim doesn't change/affect plugins or vimrc. However, if the plugin or vimrc has code related to specific environment (like OS, terminal, etc,.) or needs specific features of vim and if your new version doesnt support them, you may have problems. Plugins in default folder(where vim is installed) will get deleted when you uninstall. The plugins in HOME directory aren't affected anyway.

Installing package control into sublime text 3 breaks it

I know that this is not a programming question. But it is stopping me programming.
I have installed Sublime Text 3. Now I am trying to install Package Control. My ultimate aim is to install the package which does syntax highlighting for CJSX files.
The problem is that when I install the Package Control manager this breaks Sublime Text 3. Specifically many menu items are missing. And the programme crashes. I keep going round in circles: install Sublime Text / it works / try to install Package Control (following both the console method or the manual method here: https://packagecontrol.io/installation) / Sublime Text breaks / uninstall - repeat.
It makes no difference how I install Sublime Text - manually with a tar file, using a .deb file, or using apt-get.
This is on Ubuntu 14.04.
Since a new version 3.1.0 of package control has been released a few hours ago, it could be a bug related to this version. I suggest you to post your bug on their issue tracker
Just visit this Link and execute the python code by opening command prompt
Ctrl+` for opening the command prompt, Both versions of Sublime Text(2/3) are provided there.

Lack of file explorer in Linux vim

In vim 7.3 on OSX, if I type
vim ~/myfiles
vim will put me into the Vim File Explorer for that directory, and I can open or rename files.
In vim 7.4 on Ubuntu, I get the unhelpful error message
"~/myfiles" is a directory
Looking through the compiled options (vim --version) and online documentation, I see no obvious way to activate this functionality through, say, a command-line or compile-time option. It is such a great feature of vim that I'm surprised it is not enabled on the version of vim available in the Linux package.
Use the :E command for the explorer mode.
The ability to edit a directory like this depends on a plugin. Most of the time, that plugin is the "netrw" plugin provided with Vim in the official runtime files. In Ubuntu (and Debian) you install that runtime separately so that every Vim package can use it rather than duplicating functionality. Try installing the vim-runtime package, and maybe a more feature-full Vim while you are at it, if you have not already done so.
To summarize and answer my own question...
File explorer functionality is actually provided by a plug-in, "netrw", which seems not to be installed by default in the two or three versions of vim I tried via apt-get.
Installing NERDTree solved the problem brilliantly - it can do so much more than the default explorer. I have not yet figured out how to rename a file using NERDTree - something that is easy with 'netrw', but that is a minor irritant and there is probably a way to do it.

how to change features connected to vim at compilation?

I'm working in vim and having a problem. On my primary macbook pro, I have vim running in iterm via macvim terminal mode. Normally, I can have multiple tabs open ie, tab1 is rails app a and tab 2 is rails app b, and I can yank y lines from tab1 and paste p them into tab2. On my macbook air, I can't seem to paste between tabs. I'm sharing the bundle dire and bash_profile between the two computers via dropbox so the configuration should be good. The one problem I think I'm noticing is that when I run vim --version on the correctly functioning machine, I get
VIM - Vi Improved 7.3 (date)
MacOs X (unix) version
Included patches: 1-754
compiled by usr#usr-macbook-pro.local
Huge version with MacVim GUI
and when I run vim --version on my mac book air, the non correctly functioning machine I get
V
IM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 23 2012 13:50:52)
Compiled by root#apple.com
Normal version without GUI. Features included (+) or not (-):
and I notice that in the correctly functioning machine the features list has +clipboard and in the non functioning machine the feature list has -clipboard. how do I change this to reflect the proper configuration on the macbook air?
Try running
brew install macvim --override-system-vim
followed by
brew link macvim
However, it looks like the version of vim you are using on your macbook air is not the macvim version you are looking for. It's the standard version of vim. What is the output of which -a vim? You may have to add macvim to your path on your macbook air before the builtin vim. What does echo $PATH output?
i just uninstalled macvim via homebrew and reinstalled it making careful to connect the symlink to the application folder correctly. everything now works.

brew installed Vim in Terminal with RVM (Ruby 1.9.3), MacVim and Command-T

I'm using RVM (1.17.7) and Ruby 1.9.3p362. In the long run I want to move over to Vim in the Terminal with Tmux. I'm trying to learn how to install and run with my choices for plugins instead of defaulting to Janus, just trying to learn it all and not be a cargo cult programmer.
I did a brew install of Vim git clone of Command-T (I'm using Pathogen) while the Ruby was set to 1.9.3... and everything is good in Terminal using Vim and Command-T. When I run :ruby puts RUBY_VERSION in Terminal Vim, it gives 1.9.3 back. The Command-T works fine too.
When I try and use the same Command-T in MacVim it crashes and the Terminal says:
Vim: Caught deadly signal SEGV
Vim: Finished.
I did a brew install macvim while in 1.9.3, but when I launch mvim from Terminal and run :ruby puts RUBY_VERSION I get back 1.8.7. I know Wincent recommends the system version of Ruby for installing Command-T and I've read you have to match up the Ruby version either way. I've managed to get it working for both when I had the system ruby, but can't get it for both on the RVM version with 1.9.3...
Is it possible? Should I just forget about MacVim and stick with Vim in the Terminal?
Other things I thought I could do would be to have a disabled folder and just move the different Command-T installations in and out of it. Or maybe do an if for 'gui_running' and target the different installs. Any advice to set me straight would be great.
I've installed Tim Pope's rvm.vim and can set the Ruby version, but that doesn't seem to stop the crash in the MacVim when I call :CommandT.
I'm guessing that you installed the macvim package before you installed installed all the rest of that, and then installed the vim package afterwards. That'd explain why it works in terminal mode. These are two different packages, and they have their own build options.
Run:
vim --version
And compare the output to:
mvim --version
In particular, check out the last line (starts with Linking:). You'll probably see ruby-1.8 linked in for mvim, and ruby-1.9.1 linked in for vim (note that 1.9.3 reports 1.9.1; it's the C API version, not the Ruby version).
If all this is true, fix it by doing:
brew uninstall macvim
brew install macvim
It should build against your 1.9.3 config. Make sure rvm current reports 1.9.3 before you do that.

Resources