I’m Done with Vim/Nvim Distros

This won’t be too long of a post, but it does somewhat connect with my most recent post about Dank Material Shell.

After installing it, I enjoyed the rest of my setup as normal. This felt like the end-all addition to my Hyprland setup. However, I had a different, long-dormant issue that reared its ugly head.

I got this notification to appear after following advice from ChatGPT during my troubleshooting process.

My LazyVim installation, which is a Neovim distribution, was broken in terms of actually displaying proper colors and contrast. At times, it would change between startups, and I couldn’t figure out why this was.

For anyone not sure what the problem is, here’s how it is supposed to look:

Notice how much more readable this is, especially with the border actually being visible?

I wanted to use the Nord theme, as intended, but it usually felt as if Neovim would decide between boots to switch to a different color scheme that had inferior contrast, making some characters almost impossible to read. Each time I opened LazyVim, it became a coin toss which setup I was going to get.

Initial Troubleshooting

With my abundance of time, I thought it would be interesting to troubleshoot, but I found myself hitting one dead end after the other. ChatGPT saved me a lot of overall time I would otherwise spend digging through Github posts, various forum threads, or God forbid, Reddit. But despite my best efforts on that, I had issues with colors not displaying properly. Trying to fix it became an incessant, laborious game of whack-a-mole. Seems no matter how hard I tried, I couldn’t fix it.

I initially thought DMS was the issue, but even after disabling options in it to tamper Neovim or Kitty via the Matugen template options, the problem remained. It made me feel as if I was losing my mind. A seemingly-small issue I thought would only take ten minutes to solve was already swallowing up a few hours of my time.

Trying to toggle matugen for both Kitty and Neovim within DMS failed to fix the problem.

I also thought Kitty itself might have been to blame, but the files that DMS was supposed to overwrite (when I declined changing my Kitty.conf) weren’t tampered with. I tried using the files DMS included in my directory, but saw no real changes that fixed the color issue. Even my attempt to enable them in my Kitty.conf yielded no meaningful progress.

I tried some shoddy bandages and workarounds in Neovim to mask the problem instead of solving it, but when they failed to work 100% of the time, I knew this was becoming a more persistent issue.

The Eventual Breakthrough

Photo by luis gomes on Pexels.com

I’m no stranger to the troubleshooting process, but this was maddening considering I saw no real signs of progress.

At some point, I decided enough was enough. Maybe the unfettered convenience was the real problem. I treated LazyVim as a set-it-and-forget-it, but despite that, I knew quite little of what was going on under the hood. The sad irony is that this was one of the major problems I’ve always had with Manjaro; it’s designed to be easy to set up, but someone who doesn’t understand how it all works will have problems troubleshooting it. In this case, I was the new user and LazyVim was Manjaro. I was humbled by this bundle of pre-configured plugins that I scarcely understood.

Realizing the convenience wasn’t worth the headache, I cleared the LazyVim installation and started fresh. No LazyVim, no SpaceVim, no LunarVim, no NvChad, no Vim or Neovim distros.

I spent the following time setting up vanilla Neovim to only have what I wanted. By the end of the process, I only had a fraction of the plugins and my Nord theme back! It took me twenty minutes, but you know what? Everything finally looks the way it’s supposed to.

I’m using Noice, but I actually understand how I got it working this time!

I’m still using Lazy for plugins alone, but this time, I had to deliberately pick what I wanted and skip what I thought was superfluous, what I believed would only serve to complicate everything, and that has made all the difference.

Vim Distributions Aren’t For Me

If I were a lesser man, I would go on a tirade about how supposedly terrible Vim and Neovim distributions are. I’d rant about the wasted time and scorn them for being buggy and messy. I’d act righteous and indignant over how they’re fundamentally broken and useless, basking proudly in my own ignorance.

Instead, I understand that these distributions are designed for straight up programmers, engineers, people who are much more intimately familiar with text editors and know exactly what they are capable of. They’re well-designed stacks of software, but at this time, I haven’t used Vim or Neovim for anywhere near as long.

Neorg always looked cool to me years ago when I stumbled across it, but I could never really get it working the way I wanted whenever I’d try to install it.

While I know how to do some things with Neovim, and I have no qualms admitting that their sheer amount of features in a distribution are beyond me at the moment. Maybe if I found a good way to turn my Neovim setup into a working note-taking app (I failed spectacularly to get Neorg, pictured above, working sufficiently years ago), or if I finally sat down to seriously learn a programming language or two (Which one would I even pick?), maybe then I would find much more utility in having so many plugins.

But for now, I mostly use Neovim for editing config files, so having an overwhelming number of plugins for my purposes is akin to swatting a fly with a shotgun blast. I’ve already taken quite a liking to Vim-like keybinds, and I know that’s a hurdle for a lot of new users. Maybe in due time, I’ll be able to really make the most of such an advanced text editor.

I’m learning to walk before I can run.

What about you? Did you think I overlooked an “obvious” solution during my troubleshooting process like a bonehead, or do you think starting clean was the right choice? Do you use a text editor like Vim or Neovim? Or are you more of an emacs user, or do you simply prefer another text editor entirely?

If you are a more advanced Vim and Neovim user, maybe you have comments or tips I could have used before this point? Or, at this point, if you have a personal suggestion on what programming language you think I should learn, you can suggest that too! Whatever the case, feel free to leave a comment below. I’d love to know what you think about this.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.