There is no doubt that everything unknown may 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, it is one of the most used editors by developers around the world.
Many people who do not use Vim are accustomed with other editors and think that they do not need to switch to it. They do not want to leave their comfort zone, because they think that Vim takes too much time and effort to be learned and that does not make that much of a difference after all.
By taking the time to read this article, you have shown that you already possess 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 use this 1980s text editor.
Why should you learn Vim in the first place?
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, and it may even sound unreasonable to start learning something that does not look suitable for you.
Knowing that Vim is used by almost everybody at thoughtbot makes 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
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 will probably start to enjoy the experience. You can even get more hooked to it once you learn some of the more advanced commands that considerably increase your productivity.
No need for a mouse
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 blazingly fast. Even the word Vim means energy, enthusiasm.
Many powerful commands
The list of commands that you can use is pretty long. You do not have to learn each one, but you simply need to learn a few in the beginning and then try to learn new ones as you go. There are people who have been using Vim for 20 years and they are still learning new things related to it.
There are configurations that you can use and change based on your own preference. There are hundreds of colours 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, which makes it easier for you to focus only on the code and get rid of other distractive icons and options that are not primarily 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, then chances are that you are 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 start to learn Vim.
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. You may even learn something new and important that is in Vim in many years after your first lesson.
Go to your shell and type vimtutor. You will have an excellent tutorial that will help you learn the basics of Vim in just a few minutes. When you are done, you will already grasp some that can help you move forward.
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.
If you like learning while playing games, then this resource may be valuable for you. In this game, you will most likely learn to use Vim commands for navigation, which are essential for you to navigate the maze. You can always type :help for any hint.
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.
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.
If you are 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 try to initially use it in your side projects, and only start using it in your full time job once you 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.