Making my own Neovim Setup
WIP! Last updated Oct 26 2025 while I am still updating my site
I finally did it. Caved in. Maybe it was a desire for a faster competitive programming IDE, succumbing to the idea of increasing lifetime productivity, or FOMO to the 15 (top) percent of developers who actually use Vim, but I finally made the jump to start learning NeoVim. Here’s what I learned through my many hours of trying to get everything to work.
Lesson 1: Custom configs are so cool I could’ve gone with just some existing distribution, but I find there’s something very educational and long-term fulfilling about creating one’s own shortcuts. It’s said that peak developer efficiency is never needing to use the mouse, and seeing the magic some people can do, I’d like to take that path while making it maximally efficient, even if that means a tougher start. I can say that among my AutoHotkeys, Powershell Profile, Chrome Extensions (Plug: my simple extension GPTHotkeys), and NeoVim, I have enough workflow configurations to organize them in a drive folder. Some might say that not using linux is the biggest efficiency killer, but oh well. At least I have my WSL.
Lesson 2: NeoVim has a terminal emulator that can be set. Ideally, I wanted my configuration to be able to switch between the terminal and WSL. This was not trivial. Some online forums were really useful. But the terminal context was from where NeoVim was opened - so many headaches.
Lesson 3: Sometimes it is way easier to look at documentation. I’ve been using ChatGPT for a lot of the installation steps, as it had been correct pretty much all the time. But when I got to setting the terminal context through AutoHotkeys, it would not give correct syntax, even with correctional prompting. On the other hand, searching up documentation for the recently updated (?) version made it very clear what the syntax was.
Lesson 4: The PATH Ok, so I think the PATH was a pretty unfamiliar thing that many encounter when they first install some application. I thought I had a good idea what it was as gained experience, but I learned a few things, the progression of which I hope is clear: The powershell PATH is the system path (global) + the user path (local), where most things install to user path. The PATH is reset on each launch of the terminal and is comprised of the system path + user path. The max PATH length is 2048 characters; if more, well…who knows. There are many great tools like sysinternals that can track low-level activities. I did not end up finding the solution with them. Anyway, after all was said and done I am finally able to open neovim, go to my dedicated competitive programming folder, create a file with all my preprocessor macros, then execute it at a blazingly fast 5 seconds. Was it worth it? Ironically, probably.
Oh, and I do still use windows (ewww). I am convincing myself it is the most widely supported, I am very used to it, and its metrics are not that much inferior to Mac or Linux. Maybe I’ll have another exploratory (rebellious) phase in the future.