DEV Community

Nicholas Coffey
Nicholas Coffey

Posted on

Why I Chose Neovim

This post can also be found on my personal blog.


A Developer's Canvas

For developers, text editors are the canvas in which software is created. I believe that a good text editor finds the proper balance of features and simplicity. Too many features and the experience is bloated and overwhelming. Too simple and it can become easy to get lost in a large codebase. Throughout my career I have alternated between various editors and I believe now I have found the editor that I will stick with well into the distant future. That editor is Neovim.

Life Before Neovim

When my career first started I didn't have enough experience to know what was good and bad about an editor. In school I learned with NetBeans and Visual Studio. Then in my first job I was mandated to use Eclipse *shudders*. In my spare time I found myself gravitating towards IntelliJ and VS Code.

When I finally landed my second job, I was lucky enough to get away from Eclipse and I chose VS Code for my professional work. I had a couple years of experience at this point and I knew I liked the lighter weight of VS Code over Eclipse. I found joy in tinkering with my config and sometimes spent too much time on it. So VS Code is where I stayed over the period of a few years and jobs.

Over this period I began to start see the cracks in VS Code. In the beginning, VS Code felt light and fast, but that was in comparison to Eclipse. As I worked on larger and more complex projects, my editor would chug and even crash. This would often knock me out of my flow state and all devs out there know that the coveted flow state is nothing to be messed with. Then one day during a pair programming session I noticed our lead dev using IntelliJ and asked him how he liked it. He said he loved the extra features it offered such as refactoring and easy configuration. So I got a paid license from our company and gave it a shot. I immediately noticed the difference in editing speed and the extra features were indeed nice. I liked it so much that I recommended it to coworkers and stuck with it myself for about a year. During that year, however, is when I started my Vim journey.

Going Through the Motions

While watching YouTube, I started to notice that some of the creators I followed were editing at speeds miles faster than I was capable of. At this point in my career I knew what Vim was and had experienced the canon event of being unable to exit the editor (:qa! btw). It blew my mind that what I thought was an archaic editor allowed people to work that fast and seamlessly. I wanted that speed, but I didn't want to move my entire setup to Vim. The Primeagen had just the solution. He recommended that a good way in the door was to start with just the Vim motions and that most popular editors offer a plugin to enable them. Vim is a modal editor and the motions allow you to navigate those modes and offer tons of text editing efficiency. So, I installed the IDEAVim plugin and took the Primeagen's Vim motion courses.

My first day at work using my new setup was frustrating. My productivity took a nosedive. I struggled with the motions and was never able to get close to a flow state. At one point I turned them off to get a PR finalized. I later learned that was a mistake and that pushing through is the best course of action. Fortunately, I re-enabled them and continued to struggle for about 2 weeks. The pull to fall back on old habits was strong, but my desire for a better editing experience was stronger. Then, like learning to ride a bike my muscle memory kicked in and things started to click. I no longer had to think about the motions and was able to solely focus on the problem at-hand.

Neovim is Life

My boost in productivity felt incredible and not long after I decided I wanted even more and made the leap to Neovim. To keep things brief, Neovim is a fork of Vim which allows configuration in Lua making customizations more flexible and powerful. I decided that I wanted a fully custom configuration instead of something like LazyVim. I followed TJ DeVries' kickstart tutorial and made my own tweaks from there. Using Neovim at work took some more adjustment, but not nearly as much as learning the motions. I never felt the pull to go back to IntelliJ. Neovim is much lighter and faster than any other editor I've used and the motions being native was just the icing on top. I now have been using Neovim for over a year straight and don't see myself ever changing editors.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more