Pain With a Side of Pain #
For the last several months I have avoided the trap of Linux distro hopping. I’ve been using Arch happily, but I did switch between KDE Plasma and Gnome. I wanted to at least test out a few DE’s and see which had the most appeal. One night while watching youtube I came across a video of ThePrimeagen absolutely blasting through his code using NeoVim. I was flabbergasted at how quickly and efficiently he was able to navigate his editor. I’d previously had the misfortune of using Vim once or twice and having no idea how to edit anything or even close it and I usually found myself defaulting to nano if I had no option outside of the CLI. I decided this time I would be more deliberate in my approach and put in a true effort to use and learn Vim. Spoiler alert: It. Is. Amazing.
Enlightenment #
The first time I used Vim I asked myself why anyone would ever use it and wrote it off as the worst most masochistic thing I’d ever encountered. The truth is that I was just ignorant. After about two days, it started to click. I was memorizing most of the basic motions and I started to feel the flow. It was weak and I was still pretty slow, but there was small tastes of it and it was addictive. One day after a NeoVim session I actually finished up and said to myself, “I get it.”. There is a weird zen that accompanies the use of NeoVim. Maybe this is why they added a “focus” mode into Microsoft Word? lol
Getting Distracted #
After getting over the initial discomfort and hurdles of learning some of the motions, the allure of customization hit me. I started looking into all of the awesome NeoVim setups and realized what I needed to do. Not only did NeoVim enlighten me in regards to its superiority as an editor, but it also opened my eyes to the idea of navigating my computer more efficiently. Enter: hyprland. I thought to myself, if I was willing to take the time and learn NeoVim, I could do the same with Hyprland. A window manager seemed like a more natural pairing to use with NeoVim as opposed to a traditional DE and I was right. Now, not only did NeoVim feel like Vim, so did my entire desktop experience.
Customization Paralyzation #
If you’re a Linux user, you’ve been there. Lost in the sauce of customization and all the shiny things. I was up to my eyeballs in it. After spending a few days getting used to Hyprland and customizing everything to my hearts content, I switched my focus to NeoVim. It started with some basic NeoVim configs, copying githubs, making stuff from scratch and ultimately ended with NvChad. NvChad served as a great kick off point and has been fantastic.
More Pain #
After everything was set up, I realized one thing. I wanted to learn Fullstack Javascript and React, but I have no idea how to set up NeoVim as an IDE. After several days of watching youtube videos and getting a crash course on Lua, I finally had a NeoVim setup conducive to starting to learn Javascript and React. I had all the basics going; LSP, Linting, Formatting, DAP, etc. All the tools needed to start writing code were ready and I knew how to use most, except the Debugging, I know its working but I have no idea at all how to use it yet and it might be the most terrifying.
Seeing The Light #
Each day I continue to use NeoVim I can feel myself getting quicker, memorizing more motions and keybinds, discovering new tricks and slowly becoming more efficient. It also feels really great to stay more rooted in terminal when working and it just feels more fun at the end of the day. It has been a mildly frustrating road, but the benefits definitely make the pain worth it. If you haven’t tried it, or you just assume its terrible. Do yourself a favour and Vim into something today.