I’ve been watching a few of those videos that talk about vim vs other editors for programming. I thought I throw my two cents in and explain, why I use vim. Not just for editing configuration files, but also programming and pretty much anything else. I even write this post with vim. I say that right away, I don’t think that the other ones are bad, they are just not right for me.

The point that a lot of those videos fail to explain right away, is the difference between vim and a big editor like VSCode. With an editor like VSCode you buy a house that is mostly furnished. With vim, you have a bare-bones house. Not even the walls are done yet. The benefit of it is also the downside of it. You have to make decisions. Do I need integration with git? Do I need syntax highlighting for programming language X? And so on. A big IDE comes with a good predefined set. However, that also means if you want to divert, from that predefined set, it is still there. Still using up resources.

In the end it really depends on what you want. Do you want to just move in or do you want to design as much as possible by yourself?

All that being said, there might be another very important reason why you might want to go with vim over any other editor. If you hop a lot between various Linux/Unix boxes, then vi is the editor that is on every single one of them. Granted it might only be vi, but it means you already know most of what you need to get around. If the system has vim, then it is rather easy to even copy your .vimrc over and get the exact same configuration on each machine. Depending on how you set it up, it will even install plugins that you want to use.

A good place to start and create a .vimrc is the vim bootstrap page. You can select themes, what language you want to use and if you want the configuration to be for vim or neovim.

What is neovim? Vim, is “VI improved”. And neovim makes further improvements. The reason why I use vim for now is that I jump between a lot of systems. Most, if not all, have vim installed. Neovim would have to be installed on top. Depending on the system, I might not have admin rights. Even if I do, you don’t want to install random software on a customers machine.

For now, vim is the best solution for me. It might not be the best for you, and that is okay.