VIM or the VI Improved text editor is proclaimed as one of the most advanced text editors that were developed and it comes with a lot of plugins.
And, while it seems like it has a steep learning curve, you’re guaranteed to be able to use it after a week of practice.
Here are a few articles that can help you with VIM if you ever need a cheat sheet or a reason to get started!
The features that VIM provides in terms of editing is unmatched if you don’t listen to the EMACS fandom.
We’ll be looking into working with the advanced concepts of adding plugins to vim for functionality.
Assuming that you’ve already worked with VIM, and are instead looking for the plugins, let’s get started!
Table of Contents
- 1 Vim Plugin installation options
- 2 Popular VIM Plugins
- 3 Conclusion
- 4 References
Vim Plugin installation options
In order to install and integrate plugins with your vim, you’ll need to install a plugin manager.
Luckily, the community for plugin managers is very active, so, we have quite the few options for working with plugins.
I personally use the
vim-plug manager, as it provides support for most modules and is pretty easy to use in general.
The documentation for the
vim-plug manager is pretty straight forward and easy to understand.
After setting it up, you’ll just need to mention which plugin you wish to plug into the
Upon doing so, a simple
PlugInstall ensures that the Plugin is installed into your vim.
Pathogen is a great plugin manager that was designed by tpope, who is also the creator of the
vim-fugitive plugin, which we’ll be discussing later in the article.
Here’s the link to getting set up with pathogen.
Vundle is one of the original package managers and is known for being reliable.
The community for vundle is still very active, and the updates are underway to implement design changes.
If you wish to look into working with vundle, here’s the link.
Popular VIM Plugins
Now, we get to the main topic of the article! Vim is a popular text editor with a large community, but of course that doesn’t mean all of it’s plugins are top notch.
But, some of them are, and they are termed as such for a very good reason.
So, here is a list of plugins that can help with your vim, from Customization to Autocompletion to Version Control.
Vim has it all!
Customization plugins for VIM
A large part of the community is one that loves to design themes to make their vim look cool.
Or, just to make their version look like home. Fortunately, a large part of them love sharing as well!
Here are some plugins that are loved by the community for their aesthetic design,
A classic to the theme selection,
gruvbox is hailed as one of the best color schemes that one can have on their vim.
Gruvbox offers a decent variety of color schemes ranging from light to dark, and installing it is also pretty simple.
Another great color scheme that tends towards the more minimalistic design rather than the retro colours,
Nord is quite the modern vim theme.
An extremely customizable status bar,
vim-airline is a plugin that lets you use status bar which provide information about the document.
From the mode of execution to word count,
vim-airline does a great job of providing information while still being aesthetic in appeal.
So, why wait? Here’s the documentation for vim-airline!
Autocompletion Plugins for VIM
A lot of the times, we only prefer text editors like VS Code and IDEs because of their intelligent autocomplete features.
Well, here are some plugins that are quite the challenger to the Intellisense.
1. Conqueror of Completion
coc plugin is one that is designed for usage by neovim rather than vim, and so, while it is a good plugin, it can be skipped if you’re using vim rather than nvim.
Quite like the title, Conqueror of Completion does quite live up to it’s name, with the asynchronous and increment completion leaving you completely satisfied with the choice.
CoC is quite amazing, but, it doesn’t offer as much support as you’d like when it comes to autocompleting languages other than JS.
Here’s the link to check it out!
YCM is a fast, as you type fuzzy search code completion and refactoring engine.
It’s considered as the rival to CoC a lot of the time, and some people who just can’t seem to fall into place with CoC tend to feel right at home with YCM.
There are options to install both of the code completion engines in order to avoid the drawbacks, but, this results in a duplication of code suggestions.
Overall, it’s a good idea to explore both before deciding on which one to proceed with.
Here’s the link to working with YCM.
Version Control and File System in VIM
A defining feature of the premier text editors would be their support for file directory trees and finding files to edit.
A major game changer is the version control system that text editors have added to their functionality, which redefined the requirements to be a contender for editing code.
Well, I’m glad to say that, vim? It’s got both and they’re both top notch.
fugitive is considered the go to plugin for Git in Vim.
Providing nearly all the functionality that is required of a version control system, tpope really did bring in the big guns with this plugin.
You can also bind in keys to execute stages, commits, pushes, merges, and squashes, all from the tip of your fingers which so conveniently lie on the home row.
vim-fugitive plugin is quite hard, as a simple
:GCommit and a
:Gpush takes care of all the code while you’re trying to exit the building in case of a fire.
Bonus points if you have the commands bound to a combination of keys, I personally have it on
After all, what’s vim for if you can’t do something in a few keystrokes?
The fuzzy finder is an interactive Unix filter for terminals that can be used to quickly find files in directories and scan for specific words in files.
Well, guess what?
vim has its own wrapper for the
fzf plugin called
fzf.vim, and it works without a hitch.
Binding it to a combination of keys has saved me a lot of time in using the
:wq in order to save the file.
Proceeding onward to find the file using the classic
ls command in desperation.
Instead a simple
<leader>p pretty much guarantees a traversal of the directories to provide me with the one file I’m looking for.
I may not know the name, but,
fzf can handle that challenge too!
Speaking of finding the stuff you need, here’s the link to fzf.vim.
Overall, working with vim is a wonderful experience once you get used to it.
Navigating through the vast expanse of text with a few simple commands is extremely satisfying, and learning vim doesn’t have any downsides to it.
The plugins only make it so much more better. There’s always more to explore, so, until next time!