Sometimes I question whether Vim is really as good as people make it out to be, or if its just some sense of nostalgia that makes it so endearing to them. Modern IDEs have so many bells and whistles. But then I remember how intuitive Vim key bindings tend to be.

For example: in Vim the append command a puts the cursor after the current position and changes the editor to insert mode. shift + $ puts the cursor at the end of the line. I wanted to put the cursor at the end of a line and begin typing from there, and wouldn’t you know the command was shift + a. It was exactly what I expected it would be. Some people think you have to memorize a cheet sheet of all the commands. Sure, there are a few commands that you do have to memorize, and the key-bindings take some getting used to. But learn those few commands and you’ll also gain many more simply because they’re intuitive and based on the handful you memorized. It’s also just a satisfying feeling when you do learn a new command that was what you assumed it would be.

And then I realize that my favorite feature in all the IDEs I use is the code completion, and there are alternatives for Vim that work just as well, albeit after some tinkering with configurations, and are much more capable.

I think about that last one a lot, especially as I sit in front of my work PC watching PyCharm take up 50% of my CPU usage. One of the best parts of Vim is how lightweight it is.

I can’t attest to Emacs or NeoVim. They probably have a lot of the same benefits along with their own idiosyncrasies. I haven’t found anything NeoVim can do that Vim can’t, and Vim comes on all Unix machines by default. I thought this article really drives home the point about IDEs versus the tried and true text editors. I can’t remember if it actually talks about editors or just Linux versus Windows, but it has the same sentiments.