Vim.
If you have been programming for a while and actually do real programming besides web development, you must have heard about Vim. If not, go ahead and learn about it because it's a very handy tool that you might never use.
Why am I talking about it if it's useless and you might never use it? There's a reason for that and we'll dive deep into it.
What Is Vim?
Vim stands for Vi IMproved which is an improved version of the good old Vi editor which is built into most Linux distros.
Vim is a terminal-based text editor which means that you can run the editor on any Linux distro just by typing vim
into the terminal.
and boom, you'll be locked into the terminal and you'll have no clue how to exit it.
If you're planning to use Vim after reading this blog post, then let me save you the trouble.
Just type :q
in normal mode to exit Vim.
Why Vim?
You can't really expect to have your Visual Studio Code and your 100 extensions installed on every system all the time.
There will be situations where you won't be getting an IDE to code or you'll be forced to work on a Linux distro with barely any text editors or packages to install an IDE.
In such critical situations, Vim really comes in handy because Vim exists on almost all Linux distros so you always have a text editor to use when you don't have a text editor to use.
How Will It Make Me Master Programming?
Now that's the real question, let me tell you how.
The Issue with Modern IDEs
Modern IDEs come with a lot of handy tools. You've got entire build systems to setup projects within a fraction of a second and you've got tools to autocomplete code with just comments and todo comments.
But the issue is that they're just too advanced for beginners and will actually hurt them in return.
I see most of the C or C++ tutorials on YouTube recommending beginners to use Visual Studio Code and other advanced text editors and IDEs.
The thing is, IDEs like Visual Studio come with features like IntelliSense, Github CoPilot, error highlighting and other advanced features.
While these are good for spotting errors or getting the work done faster, it's not the right way to learn programming.
These assists don't let the beginner learn from their mistakes and make it too easy for them.
Vim's Role In This
Vim is a bare metal text editor. It has pretty much zero code assisting features besides syntax highlighting on Vanilla Vim.
Using Vim without any kind of assists will get you more used to the errors and the logic without depending too much on other tools and features.
You will know what mistakes you do and you'll get a better grip over the syntax and logic because you literally have no assisting material to make things easy for you.
Not only that you will also learn how to program without lifting your fingers off the keyboard because Vim forces you to use keyboard only.
Conclusion
Vim is a great tool for learning programming and people should avoid shifting to Visual Studio Code right in the beginning because Vim teaches you how to program, Visual Studio Code teaches you how to copy-paste code.
It will help you master programming because it teaches you how to work when there's no help from anything, something that's crucial in certain situations.
This blog post is directed only towards beginners.
In a professional setting, Vim may not be the ideal choice because of the workload and IDE requirements but a beginner should always use something simple for writing code like Vim so that they get the most out of programming.