How to backup vim configuration with plugins? - vim

I understand to backup my vimrc file but what about my plugins? Will I have to reinstall them if I move to another machine? Or can I just copy paste the directories in my vim folder ( but what if i go from windows to linux) ?

Generally, it is sufficient to take the vimfiles/.vim directory with you. However, in my experience the Linux builds of Vim are much more fussy about plugin line-endings than the Windows ones. Therefore, it is worth checking that all of your plugins and other vim configuration files have Unix line endings so that they work on Windows and Linux without issues.
In my set-up, I have the whole of .vim under version control: this makes synchronising multiple computers very straightforward. To make this work well, put your _vimrc into your vimfiles directory and name it (e.g.) vimrc. Then in the place where you normally have _vimrc add a file with this content:
runtime vimrc
Do the same for _gvimrc if you have one. This means you can keep everything in one folder (plugins and vimrc) and keep that folder under version control or just synchronise it by some other means if you prefer.

This might help: http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/

In most cases taking the directories with you should do the trick.

Related

problems installing vim-misc and vim-session plugins on mac / macvim

When I follow github instructions for vim-misc and vim-sessions, after unzipping to /Users/<me>/.vim/misc and /Users/<me>/.vim/vim-session-master, and then restarting macvim, I get
:helptags ~/.vim/doc
E150: Not a directory: ~/.vim/doc
Also tried putting the two folders in /Users/<me>/ (where my .vimrc is) and in the two locations pointer by $VIM and $VIMRUNTIME from within macvim (/Applications/MacVim.app/Contents/Resources/vim) all to no avail.
I guess I really don't understand how running the :helptags <whatever> starts up/completes installation of these plug-ins anyway?
Before using using a plugin managers, plugins used to go directly into ~/.vim, not into ~/.vim/pluginname. That's when we ran :helptags ~/.vim/doc.
Then we had plugin manager, each with different specific way of doing things. Some even take care of registering the documentation of the plugins installed.
IMO, you'd better find a plugin manager suited to your need and use it. I remember a Q/A on vi.SE, you could start by reading it.
If you prefer to install plugins manually instead of using one of plugin managers like vim-plug or others then you should add plugin directory to your runtimepath. Place this line to your .vimrc set runtimepath+=/path/to/plugin. I would not recommend to place plugins directly to ~/.vim directory, use sub-folder instead (e.g. /Users/<you>/.vim/plugins).

vim - should i place all .vim files when enabling a plugin in vimfiles or vim74 folder?

Do all .vim files go into vimfiles or vim 74 folders when installing a plugin? on windows 7 and is this the standard for all vim plugins?
Thanks
If you have a single name.vim file, that usually goes into %HOMEDRIVE%\%HOMEPATH%\vimfiles\plugin\ on Windows. If this doesn't exist yet, create it. You can check the actual locations from within Vim via
:echo &runtimepath
Directories under C:\Program Files\vim\vim74 are reserved for the scripts that come with Vim. You must not put any files there; that'll just cause problems when upgrading!
On Windows, third party plugins and colorschemes are supposed to go in this directory:
%userprofile%\vimfiles\
including your vimrc if you only use Vim 7.4:
%userprofile%\vimfiles\vimrc

Plugins in gVim not working

I need help in installing some of the popular plugins in Vim. I just started learning this editor and is very excited to use the popular plugins. I'm using gVim in Windows XP and have extracted the .vim files and copied them to the Program Files folder of Vim.
Inside my "F:\Program Files\Vim" folder, there are exactly two folders the "vim73" and the "vimfiles" folder. I put the .vim files (EasyMotion.vim) into the "plugin" folder inside the "vimfiles" folder.
When I run gVim, the plugins doesn't work, and in my case, the EasyMotion plugin is not working. I typed the "/w" to make the EasyMotion plugin work (as stated on its usage on its github account) and nothing seems to work.
Am I missing out something here? Are there extra commands to put in the vimrc file to recognize those plugins?
Cheers!
Never touch Program Files. There is a vim setting called 'runtimepath' (see the :help 'rtp') that says where Vim is going to locate the plugins. For each directory in the runtimepath, Vim will source every .vim file found in the plugin subfolder, and lookup for functions containing # in their names in the .vim files of the autoload folder. It will also lookup filetype plugins in the ftplugin folder when 'ft' is set.
Normally you should have %HOMEPATH%\Vim\vimfiles in your runtimepath (:echo &rtp to know). Unzip Easymotion there, NOT in Program Files.
Due to that structure, vim plugins mix up in the same 2-3 folders. However it is possible to install every plugin in its own subfolder if you play with runtimepath. The pathogen plugin is dedicated to that. It makes it possible to have every plugin in its own subfolder, and adds every plugin root folder to the runtimepath. The Readme is self-explanatory.
As #benoit said, you should never in general put files into your vim73 folder
(notable exceptions exist, but you'll know when you encounter them).
On windows, Vim searches for configuration files (those include _vimrc and your
plugins) in several directories, in a certain order. First it will look in
$HOME ... which is your c:\documents and settings\username\ folder
$VIM ... which is the folder where you installed or extracted Vim
$VIMRUNTIME ... which is your \vim73 folder ...
and so on ...
What this means? It means it will first look in $HOME before looking in let's
say, your Vim install folder. So it is a nice way of separating plugins which
you just want to test out before being sure you're gonna be keeping them.
For example, you could organize your Vim related files in this manner:
- install vim to c:\vim or c:\program files\vim\
(vim's program files will go in \...\vim\vim73\)
- put your _vimrc in \vim\
- put your vimfiles in \vim\vimfiles\
- and put your temporary vimfiles in c:\documents and settings\username\vimfiles\
That way when you're done with them, you can just delete that last
\username\vimfiles\ folder.

gVim Portable plugins

Can someone give me a detailed instalation procedure for gVim Portable and important C++ and python development plugins ... like OmniCppComplete, NERDTree, supertab etc ...
or better yet, a prebuilt version
thx
Using plugins on portable vim will require slightly different steps than the regular install. From the configuration page, your .vim file should probably be in Data/settings/.vim instead of ~/.vim
Follow the plugin install instructions and substitute ~/.vim with ((where you put PortableGvim))/Data/settings/.vim
If a plugin does an automatic install, then you may need to move files from ~/.vim
You may find it easier to grab someone else's vimfiles. Mine are on github.
As for the plugins themselves, I got started with this post. See also this SO question.
For what it's worth, if you can live with there being possible issues if you use a computer with vim installed and vimfiles present in the $HOME directory, you can simply take your vim72 directory, your vimfiles directory and your _vimrc (and _gvimrc if you have one) and put them in e:\vim (assuming E: is where the USB stick is mounted). You can then just run e:\vim\vim72\gvim.exe and it will load the configuration from e:\vim\_vimrc and e:\vim\vimfiles. If you plug it into a computer that mounts it as F:, then just run f:\vim\vim72\gvim.exe obviously.
Importantly, this does not require messing about with PortableGvim (which I've never really seen the point of since gvim is essentially portable anyway if you ignore the possible $HOME issues) and allows you to easily synchronise all of your settings between your desktop vim installation and your portable one.
On top of this, I also put vimrc in c:\vim\vimfiles and have _vimrc in c:\vim with the following contents:
runtime vimrc
and then put the whole of c:\vim\vimfiles under version control. This makes it very easy to keep the copy on the USB stick and the copy on the Windows PC (and the copy on my home Linux PC and... and...) synchronised.

What is the difference between vim72 and vimfiles folder?

I am learning VIM. The VIM folder in the windows has two subdirectories VIM72 and VIMFILE. What is the difference between them? Where should I install my plugins?
Usually VIM72 (depends on the vim version) is the 'runtime' directory, I believe this is where vim is searching for all the stuff that it needs during 'runtime'. You would install your custom stuff, e.g. plugins, in your '$HOME/.vim' directory on linux (plugins in $HOME/.vim/plugin).
On windows it seems to be the vimfiles directory (you asked about VIMFILE on my windows system and vim71 it is vimfiles).
So I would try to store plugin in vimfiles\plugin directory on your system.
The difference would be that in VIM72 you would have all the runtime stuff that comes prepackaged with vim including binaries. You can install your own stuff in your vimfiles directory which will be usually searched first for stuff like syntax highlight, color schemes, plugins, documentation and so on.
You can find out the location of your vim72 directory, the location for your custom stuff like vim72/plugins, vim72/colors for colorshemes and so on, from vim do:
:echo $VIMRUNTIME
And finally, vim72 is used by vim 7.2 so when the version changes it will use different directory like vim73 and so on.
Expanding very slightly on stefan's answer:
Like he says, ~/.vim for linux-related systems, and usually vimfiles for gvim on Windows - this is your home vim directory.
You should put all of your own plugins into vimfiles to make sure that when you upgrade your vim installation you don't lose any of the custom plugins or modifications.
For example
There is a syntax file called cpp.vim in vim72/syntax.
If you now want to change a few things in this syntax file (say to add an extra keyword) you could have a copy of this syntax file in vimfiles/syntax with the additional keyword syntax rules.
Now when you upgrade vim to 7.3, you still have all of your custom plugins and settings.
If you were to instead change vim72/syntax/cpp.vim, when you next upgraded vim these files would be overwritten by the new versions and any changes that you made would be lost.
Plus, since vim72/syntax/ contains all of the original syntax files, it would be more difficult to tell which of these you had customised.
That 'vimfiles' directory is where you can install things system-wide without touching Vim's installation directory ('vim72'). The directory 'vim72' is subject to change when upgrading and a new major or minor version will use a different directory (e.g. Vim 7.1 used 'vim71' and Vim 8.0 will use 'vim80').

Resources