Choosing a Vim Plugin Manager


Vim-plug [6] is a minimalist plugin manager, designed to be quickly installed and edited (Figure 4). To install, run the command:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs
Figure 4: A shot from the vim-plug homepage, showing one of the manager's advantages: Installing multiple plugins at the same time.

To automatically update plug.vim, place Listing 2 in .vimrc before the line that starts with call plug#begin().

Listing 2

Code to Auto Update plug.vim

if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC

To install new plugins, below the line that starts with call plug#begin, add one plugin per line in the format Plug <PATH>, much like in dein.vim. To borrow the example from the vim-plug tutorial, if your plugin source is GitHub, enter:

call plug#begin('~/.vim/plugged')
" Declare the list of plugins.
Plug 'tpope/vim-sensible'
Plug 'junegunn/seoul256.vim'

Note the double quotation marks around the list.

When the list is complete, restart Vim and run :PlugUpdate to complete the process. You can either review the changes by pressing D in the window or by running :PlugDiff. Should another plugin no longer work or interfere with another, you can see the latest changes with :PlugDiff. Scroll to the plugin's line and roll back the changes by scrolling to its entry and pressing the X key. To remove a plugin, delete its .vimrc entry and run :PlugClean.

Vim-plug is a popular manager, because it offers many of the same features as more complex managers, but with an elegant simplicity. If I was recommending a single manager for all user levels, it would be vim-plug.


Properly speaking, vim-addon-manager [7] is not a Vim plugin. Instead, it is an ordinary Linux package that is installed with a second package that contains over 20 classic Vim add-ons. Each of these add-ons has a status of installed, removed, disabled, broken, or unavailable. Using the command structure

vim-addon-manager install ADD-ON

users can install multiple add-ons, using a space-separated list (Figure 5).

Figure 5: Vim-addon-manager edits Vim plugins from outside of Vim.

Vim-addon-manager is useful as an introduction to Vim extensions. In addition, it places extension management into general package management, simplifying system administration. Its main drawback is the limited selection. However, the selection can be extended by placing other add-ons in /usr/share/vim/addons – a matter of file management rather than editing configuration files.


First released in 2015, Volt [8] uses the go-git library in its operations, a basic implementation of git's "porcelain" or high-level, user-friendly options, operating partly outside of Vim. It can be installed with:

go get

Then, to make Volt functional, set the environment variables by adding to .vimrc:

$HOME/volt/rc/default/vimrc.vim (installed to: $HOME/.vim/vimrc)

Another profile can replace default, using the online instructions [9]. If necessary, change the path to match your preference (Figure 6).

Figure 6: Volt supports multiple profiles. All profiles begin with a listing of repositories.

Plugins can be installed using the command:

volt get

The command can be shortened to start with GitHub or even omit it, so long as GitHub is the source. The full command has the advantage of using what you copy and paste.

All plugins can be updated with:

volt get -l -u

Individual plugins can be updated with:

volt get -u /CREATOR/PLUGIN

Similarly, Volt itself can be updated with the command volt self-upgrade.

Volt is ideal for users familiar with git, or those who, while familiar with the command line, are only moderately comfortable with Vim and only occasionally use it.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More