This week, I configuring a new workstation. My previous project using Windows Driver Kit is almost done. I starting working in a new project that require another development environment.
One of the essential tools that I use is Vim. Vim is a command line editor that have support for Windows, Linux and Mac. The default configuration of Vim in my opinion is shit. It very confuse because the retro-compatibility with Vi, the best features of the editor are hidden and your plugins missing. Only when you customize your .vimrc that you extract the best things of this editor.
Pathogen and Vundle are plugin management tools for vim. They help to easily install and manage plugins to extend the functionalities of Vim. They solve the issue that existedbefore, when install a vim plugin meaning messing with the installer directory.
This is the most simple plugin manager. The structure is presented below. Pathogen script is installed inside autoload folder and all plugins are installed as directories inside bundle.
.vim/ autoload/pathogen.vim bundle/<plugin_folder>
Inside the .vimrc script you call
pathogen#incubate() to load all the plugins installed in bundle.
&quot; from .vimrc call pathogen#incubate() call pathogen#helptags()
To automate the plugin installation, a popular choice is using a feature of git called submodule where .vim is store as a git repository, all plugins referenced as submodules. Each submodule is a git repository stored in another location. You can see how this work at Vim-cast.
However, the solution above has problems. Git submodule is confuse. Restore a vim configuration from scratch, might be more complicated than it should. Because broke references and remove a reference require manually edit hidden files.
A solution for this is Vundle. Vundle provides a better plugin management. While pathogen only loads plugins, user is responsible for installing it or use submodule to automate. Vundle download and install the plugin for you. Digital Ocean provides a detailed tutorial about how to configure and use Vundle.
Your vimrc will be similar what is presented below. You just list the plugins you use, and call PluginInstall inside Vim to install it.
&quot; from .vimrc set rtp+=~/.vim/bundle/Vundle.vim/ call vundle#begin Plugin 'Vundle' Plugin '<PathToPlugin.vim>' call vundle#end()
Because you only need Vundle.vim and vimrc to restore all your vim configurations. You can easily store a copy of your .vimrc in Gist or Dropbox. Copy back to $HOME, clone Vundle and run InstallPlugin to get back all your environment.