The power of Vim Plugins

Posted on 2015-09-16

In this post I want to introduce a new series, which will cover some of the most useful Vim plugins available. There are many guides and tutorials out there about how Vim works and how great its modal editing is. So I won’t cover these things in this series. I personally learned a lot from the book Practical Vim by Drew Neil. He also published a lot of video tutorials, called VimCasts. Before I started of with Vim, I was using Sublime Text and as I started using Vim, I missed some essential knowledge about how to install, configure and use plugins. Part of the problem was, that everyone is telling you: “When you start of with Vim, learn it without any plugins first, so you get used to the modal editing.” Well this isn’t completely correct, because those are two different pairs of shoes. Of course it’s more to learn at once, but many people don’t want to learn Vim completely and then start installing plugins until they find out, that something they need very bad, isn’t available in Vim. So they wasted about 2 months of their life until they can go on with the next tool on their list. Luckily there is not much missing, to transform Vim into a good programming tool, in my opinion. For me it became my one and only code editing/writing tool for work, studying and hobby projects. By configuring plugins, people will discover another great thing: the .vimrc. It’s a file where all the plugins are linked and where Vim is configured, to really become your personal editor. And because it’s just one file, it’s easy to put into a Version Control System like GIT. This gives you the ability to have the same look and feel of Vim on different machines in no time. It’s also the first time you get in touch with VimL(VimScript). It’s a script language, which is used to configure, write plugins and interact with Vim in command mode. So it can be seen the same way as Python for Sublime and Coffeescript for Atom. To give you a slight overview about what is coming next, I will list up a short summary(non-chronologically) of what I want to cover in the next posts.