Should You Learn VIM as a Developer in 2020? (2024)

Diving into what VIM did and did not solve for me

Should You Learn VIM as a Developer in 2020? (1)

The discussion of which text editor, which shell, or which OS you use has always been a hot topic for developers to chime in on. I’m sure we all know that one person who is crazy over VIM. I’m sorry to disappoint you, but this post will not be glorifying VIM itself. Instead, this post will be used to discuss why I decided to learn VIM, what VIM solved for me, what it didn’t, and most importantly, should you learn VIM?

A brief introduction about my programming background as it will give context. I started programming seriously around late 2018 after deciding to pursue it for a career path. Before then, I would often create (pretty bad) scripts for different games I played and run a few websites/game servers as side hustles. Since taking up programming as a career, I have dabbled in several languages, but I find myself doing a lot of work in the JavaScript ecosystem. Now that we’ve got intros out of the way, let’s get started!

Should You Learn VIM as a Developer in 2020? (2)

VIM didn’t make me a better software engineer. I will say it again: Learning VIM does not make you a better software engineer. At its core, software engineering is agnostic of what shell/editor/OS you develop on. I believe that too many people implicitly have this notion that you need to use X or Y in order to be a “good” software engineer.

As a newcomer in this industry, I find the general “____ OR BUST” mentality to be cringe and elitist. We’re all creating solutions to complex problems. The toolkit you use to write your solution doesn't make you a better or worse developer.

Building habits

Since I’m a relatively new programmer, I have a lot of room for areas of improvement, and workflow is definitely one of those areas. Before learning VIM, I was never really a person to utilize hotkeys/keybindings to my advantage. I was extremely reliant on using my mouse. When being pitched the typical VIM spiel, the whole “keep your hands on the keyboard” point appealed to me since I have always been a fast typer. I knew in the back of my head that learning VIM wouldn’t lead to any sort of negatives.

Limitless potential

When debating if I should learn VIM, I decided to watch a tech talk about it, and the single major takeaway I had from it was that people can use VIM for years and still be improving their usage on the tool.

This hinted at a few things for me. First, picking up VIM is a huge time investment, but more importantly, you’re always finding ways to level up your craft. As someone who’s a pretty new developer, I want to parallelize my efforts when I can. This is a reiteration of my previous point, but when I incorporate different tools (VIM in this case) into my development workflow, I give myself the ability to kill two birds with one stone.

I no longer need nano on my Linux servers

This is a bit of a random tidbit, but coming from someone who has worked in a Linux environment remotely over the years to run a few sites/servers, not knowing VIM was definitely annoying. If I needed to ever modify a config file for a service I was running on a box, it would require me to install nano as my knowledge with VIM was :q!.

In my day-to-day, I utilize VSCode with the VIM plugin. I’ve tried installing VIM plugins such as coc.nvim and developing through the terminal itself, but it wasn’t something I was crazy over. I always really enjoyed the experience of writing code on VSCode. Using the VIM VSCode plugin gives me the same experience of running VIM, but I get to reap the benefits of the ecosystem VSCode provides to me. For me, I get the best of both worlds when utilizing this setup.

Should you learn VIM? If you don’t have any sort of habit/strict keybindings for yourself, I think you should at least give it a try. The fact that I had no “comfortable” keybindings/workflow established for myself made learning VIM appealing to me. After learning VIM, I can say that I have gained a new foundation that I am only building off of.

It took me about two weeks of lightly running through vimtutor before I felt comfortable enabling the VSCode plugin. From there, it took another week of development time to innately navigate through code using the keybindings through muscle memory. The way I see it is I was coding either way for that time. I was able to get more value for my time by picking up VIM.

Though, I would like to reiterate that, at the end of the day, programmers are creating solutions to problems. Which keybindings/editor/etc. you want to use is entirely based on your preference. The speed at which you edit files is often not the bottleneck in your development work.

Should You Learn VIM as a Developer in 2020? (2024)

FAQs

Should You Learn VIM as a Developer in 2020? ›

Efficiency. One of the primary reasons developers should consider learning Vim is its exceptional efficiency in text editing tasks. Vim's modal editing system, extensive keyboard shortcuts, and powerful text manipulation commands allow users to perform complex editing operations with speed and precision.

Do developers still use Vim? ›

Knowing how to use vim may not be the most essential part of being a developer. However, knowing and using it increases your productivity and you can write a lot of code in a very short time. You can use Vim in mostly every modern Text Editor/IDE: IdeaVim in all JetBrains products.

Is it really necessary to learn Vim? ›

Learning Vim is a process, and that process takes weeks of dedicated time (or months of dabbling) just to get up to the same speed as with a mouse. It's probably one of the steepest learning curves of anything I've ever learned, but the payoff of learning it is extremely valuable, in my opinion.

Is Vim still in development? ›

Vim - the ubiquitous text editor

Vim is rock stable and is continuously being developed to become even better.

Should I use Vim for programming? ›

While learning Vim can be challenging, it is well worth the effort in the long run as it will improve your productivity and bring joy to your coding experience. If you want to go further, try Tmux, which plays well with Vim.

What percent of developers use Vim? ›

If we look at the StackOverflow survey for 2019 about the most popular development environments, Vim is still there on the 5th place, with around 25% of Web Developers using it.

What famous programmers use Vim? ›

  • Kamran Khan. Security Engineer @ Google. ...
  • Mu Lu. Lived in Tokyo. ...
  • Alan Mellor. Started programming 8 bit computers in 1981 Author has. ...
  • Håkon Hapnes Strand. CTO and Machine Learning Engineer Author has 4.6K. ...
  • Brian Bi. vim user Upvoted by. ...
  • Justen Robertson. ...
  • Abhilekh Sahay. ...
  • Joshua Gross.

What is the disadvantage of Vim? ›

Since it is so customizable, the user needs to maintain his or her development setup over time and make sure all the plugins work well together. This can be more challenging if many plugins and customizations are used. Once you learn Vim well, any text entry field that doesn't use Vim keybindings will feel broken.

Why do people use Vim instead of IDE? ›

Understanding the Underlying Processes: While IDEs provide powerful debugging and automation features, they often abstract away the intricate details of program execution. Vim, being a lightweight text editor, encourages a deeper understanding of the underlying processes.

Is Vim overhyped? ›

It might be overhyped as a programming tool (you won't write 2x the same amount of lines in a day; you will not be 5x more productive), but as an editor, it deserves every single bit of hype that it has. No other editor stands next to vim.

Why is Vim no longer available? ›

Unilever South Africa posted a notice that they would be discontinuing Vim Abrasive Powder due to low consumer demand for the product within South Africa.

Can Vim replace an IDE? ›

Overall, while Vim does not provide all of the features of a modern IDE out of the box, it does offer a number of built-in tools and commands that can be used to enable code completion, code navigation, and Git integration without installing any plugins.

Should I learn vi or Vim? ›

The choice of whether one should learn Vi before Vim entirely depends upon the individual's requirements and goals. But it is highly recommended to start with Vim as it is built on top of the vi editor and provides almost all the features and functionalities that vi provides.

Why do people like Vim so much reddit? ›

Your fingers stay on the keyboard at all time which means that you ll be way faster than someone who constantly has to leave the keyboard to take the mouse then go back to the keyboard. Plus vim has some pretty powerful command that allows you to quickly and precisely edit your text.

How long did it take to get good at Vim? ›

Learning vim is not hard. But like any other learning process, to reach proficiency you need to master the fundamentals first. For vim that means about a couple of weeks of your time. Get through those two rough weeks and you can quickly get to a higher level of productivity.

What is the replacement for Vim? ›

Emacs, Neovim, Atom, Notepad++, and Sublime Text are the most popular alternatives and competitors to Vim.

Why people use Vim instead of VS Code? ›

Vim's still better and here's why.

There's some obvious reasons why Vim has an advantage over any GUI editor. It's light and fast, you can code over SSH on a server, it keeps you in your terminal, it's widely available, hugely portable and highly configurable.

Top Articles
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 5570

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.