I have another rant somewhere here about my journey and quest for productivity. Being in IT, there is a need to use the keyboard ALL the time. I read alot about self-improvement and productivity and IT all the time. I realized early after reading some articles about self-improvement and productivity that in order to be more productive at work, I need to keep my hands on the keyboard. This is not tangent about slave labor and cracking the whip, but rather that need to be focused and grind. Whenever your hands are off the keyboard, you lose focus and then have to refocus again to get your hands back on the keyboard. This started my journey of my own productivity as well as a journey regarding my keyboard situation.

I have only just started to use nvim and I love the customization. At a previous job, a friend was really into Vim. He only used it as plain as possible though, which is fine, and I don’t think he even used NVim at all. At the time I was familiar with Vim and knew the jokes about “how do you exit vim”. I was into using atom.io at the time, and that persisted until I made the switch to NVim.

I am trying to make NVim my daily driver. Its been difficult. I heard about Vim and tried it plain, and to me at the time, it seemed like a more needlessly complicated version of Nano. I know, I am a Nano user, but typically I only use it for a quick in-and-out edit and I am done in under 30 seconds. I don’t understand the people that are obsessed with Nano, and I understand even less the people that hate nao, like its the scurge of the planet. Nano rant over.

When I opened Vim up for the first time, I really didn’t know how to get out of it. I forced myself into Vim a few times and kept getting stuck. I even totally messed up a code base once because I had no idea what mode I was in and I was taking ANY and ALL advice on how to get out of it…what a noob I was.

I then learned about NVim, and that sounded more promising. However, out of the box, it was just Vim. That made me sad. I was ready to give up. Then I came across something called NVChad, and I thought it was an alternitive to NVim. That made me excited. I then RTFM on NVChad and was genuinely suprised. NVChad was like a NVim framework, not just a pretty skin (though it could be that too). It didn’t change the fundamentals, but it added to it while making it more visual to work with.

After about two weeks of casually using NVChad, there was something missing. I didn’t know what, but my understanding of NVim was just beginning. I ditched NVChad and started to look for other configs. There I found Lazy. Again, I used Lazy for a few weeks, and loved it, just about as much as NVChad…hard to say really. Lazy helped me love NVim more as I was learning to use it more. But I still wanted something else. As I initially type this, I am using Lazy, mostly because my config is messed up.

Looking at both NVChad and Lazy, as a config, there is a great base and tons of plugins. Initially, I saw these, and wanted to downsize and trim these plugins…but I really didn’t know what I was doing and I don’t know Lua. I did RTFM for Lua, but had no practical knowledge of it and thus did not retain any of it. I also had even less knowledge of the workings of these configs and vim, so why not go down that rabbit-hole of doing my own thing. When I was using Atom.io, I loved the configs, the shortcuts, and everything about it. I wrote my plugins, and even published one, and then published a second one that was an “extension” of someone elses. Many of the shortcuts I had in Atom were not too dissimilar to that of Vim, in retrospect. So the transition, based on my setup, is fairly natural.

For those that don’t know, Atom was bought by Github, and then Github was bought by Microsoft. Microsoft already made their version of Atom, called VSCode. Except it was garbage. VSCode felt more to me like they tried to make their full fledge IDE Visual Studio into a more cheap free open source product with the flair of Sublime. I think they succeeded at most of that, which meant they failed at making something good. Shortly after aquiring Github, Microsoft did what it does best, and kill anything that was a competitor to one of its products…which meant Atom was dead. I am writing this over two years after that death, and I am still using Atom. There is somethings that I like it for, and its just a comfortable shoe right now. Yes, I also use Zed, from the makers of Atom. Jury is still out for that.

My first attempt to make a config of my own, I decided to just take snippets from NVChad…wow did I make an abomination. I tried a few different times, and man did I make a Kaiju Blob of nothing. Maybe that was too complicated to do that to.
So I did something similar with Lazy…at first I thought I was doing “good” because it still looked good. But it turned out that I still had the references for Lazy in there, and my stuff was so broken Lazy was defaulting back to its standard default configuration. This explained why I couldn’t change the colors at all. Taking another stab at it with Lazy after realizing my mistake, I somehow took away all the “prettiness” that Lazy did and kept all the functionality. I have no idea what I did or how…but somehow my config was doing SOO much with the appearance of being out of the box. In retrospect, that is impressive.

I have a YouTube playlist dedicated to a few people that are setting up NVim and I have watched most of them. I have tried some of their approaches and configurations.

So “WHY” the need to make my own setup and not just stick with one of these other things? These other people have mad some great products. Folke with Lazy, the team with NVChad, Josean, Chris@Machine, TypeCraft, devaslife, and even that primeagen guy. All great devs, and all with great setups and configs. I don’t want to replace anything that they are doing…not yet. I want to hack at things and understand it, and use it and make it my own. That means to borrow from others as much as possible and make it good for my workflow. I respect what they do and have. Which is why I am writing this in Lazy, while trying to get my setup working.