Migrating from Pathogen to Vundle

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.


Inside the .vimrc script you call pathogen#incubate() to load all the plugins installed in bundle.

&amp;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.

&amp;quot; from .vimrc
set rtp+=~/.vim/bundle/Vundle.vim/
call vundle#begin
Plugin 'Vundle'
Plugin '&lt;PathToPlugin.vim&gt;'
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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s