You should know the mantra by now: “Vim does a lot by itself”. But Vim doesn’t do everything and, sometimes, we would like it to do what it does in a slightly different way.

Vimscript

Functions

Commands

Variables

Etc.

Good practices

Plugins

A “Plugin” is one or more scripts written by other Vimmers to extend Vim in one way or another. Some plugins may add support for a language not supported by Vim natively. Some plugins may provide a more useable abstraction over a built-in feature. Some plugins may give you a nice colorscheme. Some plugins may provide no benefit whatsoever. Some plugins…​ Well there are thousands of them.

When to look for plugins

For the self-respecting Patient Vimmer, installing a third-party plugin should be the last resort. Not because plugins are antiethical or whatever but because there’s more often than not a built-in way to do what you want and/or a built-in way to customize Vim to do what you want the way you want.

Let’s say you are starting with Vim. You have read a few threads on r/vim or the poorly named Hacker News, a couple of highly voted answers on Stack Overflow and most importantly two dozens of blog posts that all advised you to install the same file explorer. Comforted by that consensus around NERDTree you install it only to find out in its documentation that there’s already a built-in file explorer that does everything that third-party plugin does and more.

Where to look for plugins

Installing plugins

Manually

Vimball

Pathogen

Vundle

Neobundle

VAM

Plug

Packages

Notes on Git/Mercurial…

Updating plugins

Removing plugins