Installing Vim plugins manually
June 9, 2018
When I started out with vim over an year ago, I made sure not to mess with plugins because installing plugins seemed like such an arcane task that only a handfull of people over at r/vim knew. This went on until I came across Pathogen, a plugin manager which was seemed somewhat sophisticated. I tried Pathogen and learned it enough to install a plugin which turned out to be quite easy. Up until recently, while working on a personal project of mine, I came across an issue of manually installing a plugin which intrigued me quite a bit.
First, let’s understand some of the terms used in this context.
1. Vim directory - For GNU/Linux and macOS, it’s generally
This is where vim plugins and autoload files are stored just to make everything
more organized and easy to use. Your colorschemes, plugins, and even plugin
managers are kept in this directory.
runtimepath - If you are familiar with what
$PYTHONPATH in python dev environment does or
$PATH in Unix does, then this is quite similar to these two. The
rtp is where vim looks for commands which are not defined natively such as plugin
commands or auto commands.
What really goes behind the curtains when you install a vim plugin is essentially just this.
- You write or download a vim plugin.
- place it in a folder, preferably
- Now add this path to the vim
- Finally, source the plugin file
If you’ve been following along, you probably have an idea now how to manually install a vim plugin. If not, it’s alright, keep reading. We’ll be using one of my plugin for this example.
1 Clone the plugin to the appropriate vim directory.
2 Update the vim runtime path. The easiest way to do this is by appending the plugin dir path to the runtimepath. And you can verify this by checking the value of the rtp variable.
3 Finally, let’s source the plugin file.
Now you should be able to run the plugin, try this command.
As it turns out, it’s pretty simple to actually install a vim plugin. But if you are one of those who use quite a number of plugins, the management of these could turn into a nightmare pretty quick. And for the same reason, I’d rather use a plugin manager and so should you.