The unknown things can be frightening. The unknown is usually followed by a type of resistance. Vim is not an exception. Still, despite the fact that a StackOverflow question asking about ways of exiting from it has been seen more than one million times, Vim is still one of the most used editors by developers around the world.

iUoTDOBtY0gfLCfuQF2VFcB5O25EbCESvi23
This is a view from this open source project that displays cryptocurrencies values like Bitcoin, Ethereum and Nasdaq

Many people who do not use Vim are accustomed to other editors and think that they do not need to switch to it. They do not want to leave their comfort zone. They think that Vim takes too much time and effort to learn and that it does not make that much of a difference after all.

By taking the time to read this article, you have shown that you already have some type of interest about Vim. Before we see some resources that make it easier for you to learn Vim, let’s see the reasons why should we even consider using this 1980s text editor.

Why should you learn Vim in the first place?

JH9oJvo7m1DPy1qHqlJ746ss76VbtwkdQw2T
Image: http://amzn.to/2umsBaY
“To use Vim is one of the best choices I’ve made in my programming career.” — Lucas Oman

It is reasonable that you may need some reasons to know why learning Vim is worth the effort. After all, it may affect your entire workflow. It may even seem unreasonable to start learning something that does not look suitable for you.

Vim is used by almost everybody at thoughtbot which is one of the most recommended companies in Bay Area. Knowing this might make it compelling for you to start learning it. Aside from that, there are other reasons worth mentioning. Let’s begin.

It is like playing a game

T16SNCcn74ixAL8upiY5GQThc30gtS7iQJq-

When you want to start playing a game, you do not step back from playing it just because it is hard. You actually get motivated to play it because it gives you pleasure. Developing with Vim is similar. When you start to see that it is fast and intuitive, you may start to enjoy the experience. You can even get more hooked on it once you learn some of the more advanced commands that increase your productivity.

No need for a mouse

xtPiYjNkjRxOIYkvi7g7nMphHpRKezKTautf

You have many shortcuts to navigate through the code and files, which can actually help you get rid of the need to use your mouse at all. As a result, you do not need to get your fingers off the keyboard, which speeds up your coding.

In other words, you can code in Vim as fast you can type. It is fast. Even the word Vim means energy and enthusiasm.

Many powerful commands

The list of commands that you can use is pretty long. You do not have to learn each one, you simply need to learn a few in the beginning and then try to learn new ones as you go. You may learn something new and important that is in Vim even many years after your first lesson.

Highly customizable

There are configurations that you can use and change based on your own preference. There are hundreds of colors schemes that you can download. Moreover, you can use a large number of plugins that enhance your editor and make it as powerful as modern IDEs.

It is text-centered

Modern IDEs have a lot of built in features. They usually come with a lot of buttons and a rich user interface to make it easier for you to use all the functionalities that are in it. Vim on the other hand is generally text centered. This makes it easier for you to focus only on the code and get rid of other distractive icons and options that are not code related.

It is present in every Linux machine

The vast majority of servers use Linux as their operating system. When you are familiar with the basics of Vim, you may become comfortable with the deployments and server maintenance.

These are not the only reasons why Vim needs your attention. But they represent some of the most important ones. If they resonate with you, then you may give learning Vim a chance.

5 free online resources to learn Vim

Here are a few resources that you can use to help you in your learning journey. Do not pretend to learn everything related to Vim at once. There are people who have been using Vim for 20 years and they are still learning new things related to it.

VimTutor

ZnAi3-E4pFrTREwTcRbuC0QPvevFS6lqQaMC

If you are using a Unix-based machine, you can go to your shell and type vimtutor. If you are on Windows, you can see some of the answers to open it here.

You will have an excellent tutorial that will help you learn the basics of Vim in a few minutes. When you are done, you will already see why Vim is amazing.

OpenVim

3gj72SJz0WAQGxLDle-R7AhGUtc4EzSuhcif

This is an interactive tutorial that you can use to get a solid understanding of the basics in Vim. You can also use it to test your existing Vim skills.

Vim Adventures

gN2nZ7OHBkXCGPiwl02RhWx38xrEl26zoxD6

If you like learning while playing games, then this resource may be valuable for you. In this game, you can learn to use Vim commands for navigation, which are essential for you to navigate the maze. You can always type :help for any hint.

The basics of Vim

axcnqcGTywh1CCw1zviNYpdu-4UtYF48Dk1Y

Derek Wyatt has prepared an album with 13 videos where he teaches Vim. These videos have been seen several thousand times and are very valuable resources for you to learn the basics of Vim. If you are still doubting whether you should learn Vim, then these videos can give you more reasons to learn.

Vim Cheat Sheet

yQ9ix1KlNEoiM6BuAlehZ-iI6gw3pnuynRzP

Print this cheat sheet and leave it next to your desk. From time to time, take a few seconds to look through the list and try to use something from it. This way you can memorize new commands on the go and also reinforce the ones that you already one.

Conclusion

If you’re new to Vim, then it may be better to not start to use it immediately in your work projects, because you may get frustrated and never get back to it. You should initially use it in your side projects, and only start using it in your full time job once you are pretty comfortable.

Try using Vim for a few days in a side project that you have and see how it goes. If you enjoy using it, then you can stick to it.

I am a Passionate Software Engineer, currently serving as a Team Lead Developer for a group of enthusiastic developers that specialize in developing web and mobile applications, mostly using Ruby on Rails and React JS.

I am an open source enthusiast and also a blogger.

I am currently looking for a remote job. Please contact me for new opportunities.