From VScode to Neovim

Converting to the dark side.

I've been a frontend engineer for a long time now, 10+ years, and I've worked my way through several IDEs. In fact, when I first started out, with no one to tell me it was a bad idea, I worked on my PHP files directly on the server. For shame.

Times changed and so do the tools you use as you evolve as an engineer. Here are some IDEs I used before VSCode.

Coda

This was my first and was a paid app for my mac. It came with FTP capabilities too, so It was kind of an all in one app. That was my my tool when I started out as a freelancer.

Sublime

Once I started working at my first agency, and started using GIT and learning my way around a terminal, an FTP client wasn't really necessary anymore and some colleagues recommended Sublime. It was heaps quicker than Coda and I enjoyed it. Until...

Atom

I loved Atom. It was visually so much more appealing than Sublime and this was when I started customising the editor. I really enjoyed using Atom and when folks in my office started using VSCode I wasn't really keen on swapping it at first. But when I did try VSCode, there really was no going back.

VSCode

The VSCode era. I probably used this for the longest time and probably went too far with customisations, like we all probably did. I had no intention of moving away from VSCode. I was productive in it, fast and knew my way around the tool pretty well.

But, in October 2022, I decided to get back onto Twitter, to try and follow the tech scene and keep up with some of the latest discussions. That's when I first heard about Neovim.

To be clear, I have always know about VIM, but I've always avoided it. If I ever found myself inside VIM, I pretty much needed to restart the computer. I just couldn't exit. In fact, I would have defaulted to using Nano editing a file in the terminal. Which now makes me feel stupid.

I don't know what it was, but finding out about Neovim, a switch flipped in my head, and I knew that my days in VSCode were over.

Neovim

Neovim is an editor you use in your terminal. It comes with nothing. No language support, no syntax highlighting, no git integration, basically none of the luxuries from VSCode. Oh, and no mouse support! You moving around your files with your keyboard.

But, thats kind of the fun and what makes Neovim great. You configure it to be used exactly how you want to. This also makes it super fast!

I have mine setup with several packages that add an LSP (Language support), syntax highlighting, copilot, git integration, custom key mappings and more. You can see my config here

It has taken me a little while to get to the same level of efficiency I had in VSCode, but I'm feeling it coming together now. Key mappings are sinking into my muscle memory and I feel the speed starting to ramp up.

It's funny now too, because when I go to help out on a coleagues computer, I really notice how slow VSCode is. In fact, sometimes I just open their file in VIM in the terminal and look at it there.

Conclusion

Its good try new tools out. If Neovim didn't work out for me, I would have gone back to VSCode. But it did and I'm loving it. I would have missed out if I didn't decide to just give it a try.

So I'm not telling you to use Neovim, but more just try some new things. Be curious and see what works for you.

Oh, and in case you were wondering. To exit vim you just type.....

;