Vundle: The alternative to vim-plug

In this module, we will be learning how to install plugins in vim using Vundle. Vim is a very small program and is minimalist by design. It is meant to run on machines with low computing and storage. This is not ideal for developers who want to use vim for their daily workflow. Luckily the vim community has come up with a lot of plugins to customise vim like a modern IDE.

Vim offers flexibility both in terms of plugins and plugin manager. Vim offers multiple plugin managers like Vundle, Plug, Pathogen to choose from. In a previous article, we have already discussed how to install vim plugins using vim plug. In this article, we will discuss an alternative to it – Vundle.

Also read: VIM tutorial

A short intro on Vundle

Before we proceed to the installation steps here is short summary of Vundle. Vundle is short for Vim bundle. Vundle is designed to be simple and minimalistic. Vundle offers a variety of features:

  • It keeps track and configures your plugins right in the .vimrc.
  • It install configured plugins (a.k.a. scripts/bundle).
  • Allows updating configured/installed plugins.
  • Search by name all available Vim scripts.
  • Helps in cleaning unused plugins up.
  • It automatically manages the runtime path of your installed scripts.
  • It regenerates help tags after installing and updating.

Vundle has fallen out of interest because of the competitive newer features of vim-plug. However, Vundle is now undergoing interface changes to support a new set of features.

Now let us jump into the installation steps.

Prerequsites

The vim plugins are generally open-source projects and are hosted over websites like Github and GitLab. The plugin manager needs to clone the repository before using it, so it essential to have git installed. The installation instruction for git for different distribution are as follows:

-# For Debian Based distributions like Ubuntu
sudo apt install git
 
# For Fedora or RPM-based system
sudo dnf install git
 
# For Arch-based distributions
sudo pacman -S git

Installing Vundle

To install the Vundle, run the following command in your terminal. It clones the Vundle repository to your local ~/.vim folder.

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Note: If you are using Neovim use should be using ~/.config/nvim instead of ~/.vim.

Configuring Vundle

For vim, to Vundle we need to make some changes in the ~/.vimrc. If you don’t have a ~/.vimrc create a blank file and name it ~/.vimrc. The changes to be made to the ~/.vimrc are as follows:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize Vundle
" The directory should be changed in case you downloaded in case you download it somewhere else
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" All the plugins to be installed are to be mentioned here
" inside the vundle#begin and vundle#end

call vundle#end()            " required
filetype plugin indent on    " required

We have now successfully configured Vundle. It is time to install some plugins.

Installing Plugins with Vundle on VIM

Here is part of ~/.vimrc showing different ways and options to install plugins in vim.

call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

" To Install Plugin from a repository
" Plugin <Repository-Link>

Plugin 'git://git.wincent.com/command-t.git'

" If you are installing from Github you can write a simpler alias

Plugin 'tpope/vim-fugitive'

" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'

" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}

" All of your Plugins must be added before the following line
call vundle#end()      
Vimrc Configuration 1
Fig 1: This is how you .vimrc will look like before you install plugins

Feel free to add more plugins inside inside your .vimrc. After you have completed you editing use the command:

:source %

and then run the command,

:PluginInstall
Plugin Install 1
Fig 2: A side pane will open up showing the progress of the installation

Vundle will now install the plugins mentioned in the ~/.vimrc.

Close the vim application using :q and restart it to see the see the into effect.

Vundle Commands

To make life easier for you, here is a quick reference to some of the Vundle commands with their functionalities.

CommandUsage
:PluginListlists configured plugins
:PluginInstallinstalls plugins; append `!` to update or just :PluginUpdate
:PluginSearch fooPluginSearch foo
:PluginCleanconfirms removal of unused plugins; append `!` to auto-approve removal
Table 1: Quick reference to the commands in Vundle.

Conclusion

This brings us to the end of the article on Vundle. If you run into any issues you can always access the local man page using :h vundle. Here are a few .vimrc you can take inspiration from. Stay tuned for more such articles on vim.