Post

Moving from VSCode to Neovim

Moving from VSCode to Neovim

Moving from VSCode to Neovim

Seeing a title with this name isn’t rare, it’s common to see a multitude of posts with a similar, if not identical name, to mine. However, what differs this note from the others, is the personalised aspect that I share, since I’ve been using VSCode for a little over 5 years now.

In this following post, the term VSCode will be used. This is shortened for “Visual Studio Code” - you may see why this is abbreviated.

The Start of My Journey

Truthfully, I had started using Microsoft’s Notepad, then Sublime Text, and finally VSCode - much like others in their journey. I could never find an editor which just fit my standards. Until VSCode came along. “Finally!” I thought, as I laid my eyes upon the landing page of VSCode. It looked beautiful, and so I began learning Python. Quickly, I learnt the importance of having a functional terminal, and not being limited to PowerShell - which, is powerful, but painfully slow.

Using VSCode, you’d feel powerful. With tens of thousands of extensions readily available. From being able to simply change a theme, to sharing your current workspace via Discord RPC, to a whole lot more. Extensions make the world of coding that much more fun and more exciting. My all time favourite extension is as simple as a “Better Comments” extension, which - as one would guess, takes commenting to a whole step above.

VSCode is a plug and play editor which works the way you want it to work, with little to no customising needed. Create/open a project, open a new code file and then code away! Python? No problem! Rust? No issues here. Anything will work, even assembly.

Additionally, its synergy with WSL (Windows’ Subsystem for Linux) is unmatched compared to other editors, since it can remotely connect to the WSL workspace, harnessing the Windows side, and the power of Linux kernel. ‘Nothing can compete!’, I thought.

I had actually always wanted to use Vim, but never got around to making the switch. I never knew how to quit the program, feeding into the meme. I could only see myself using VSCode for the entirety of my time.

Experimenting with Linux

As part of self-learning with cyber security, I’d found that Kali Linux is the most ideal distribution since it comes pre-installed with all of the hacking, cracking and all other tools. This, also started my Linux journey. Using Kali, it forced me to learn how to use the terminal, with installing / updating the system almost on the daily; sudo apt-get update -y && sudo apt-get upgrade -y. Additionally, in this space, I’d found out that Linux uis better than Windows in terms of programming, and I intended to make the attempt to find it out myself.

Learning programming on Linux exposed new tools to me, such as nano, and (very rarely), vi. It was strange using an editor on the terminal, but I had pushed through it and dedicated myself to learning it….. yeah, no. I gave up instantly and wanted my VSCode back again. This unfortunatley continued, but told myself to one day learn vi.


In 2023 (ish), I’d removed Windows on my desktop and installed Manjaro, since admittedly, I was scared for jumping straight into Arch without knowing exactly what I wanted. Here, I’d also hard use VSCode, but I didn’t want to commit to it. And so, scowered the internet once more and found that there’s a new vim in town, so to speak: neovim (or abbreviated as nvim). Looked awesome, and new, but when I installed it, I found myself in stage one again, with not knowing what to do.

Looking for an easier method to get into Neovim, I found these “out of the box distributions” for Neovim. I chose LunarVim and it was on. Or so I thought, once again. I found there was too much, but I ended up using the arrow keys, not hjkl, which made me feel a bit at home.

It just didn’t feel right.

Windows Ricing

You may be wondering where neovim or VSCode comes into play, under a heading like this, but trust me, it helped the transition. On my laptop, I’d installed Windows on it and wanted to learn how to make my system as functional as Linux, while retaining the gaming ability. Here, I found me some Windows tiling window managers, GlazeWM and Komorebi - and boy are they amazing. Glaze was my first, Komorebi, my last (and current, on my Windows machine). Here I will be talking about Komorebi. Similarly to Hyprland, it has a control manager: komorebic, which programmatically enables real-time management of different window manager commands, such as sending it to a certain workspace, opening a new program, closing, and more. Using Komorebi enabled me to be more hands on with my system, since the keymaps enabled the usage of the keyboard. Though the SUPER key is mapped to ALT, still, I’d found it comfortable to learn how I can use keymaps to perform other tools.

Since I got majorly into the keyboard, and wanting to move fast in VSCode, I would always find myself using the mouse, which I really didn’t want to do. Now, I started again with neovim. However, I’d used a starter template, kickstart, but then I found myself lost in what to do. There are so many commands and it helps a lot, especially if you are a complete beginner. But from what Windows ricing taught me, I wanted to make it mine - from scratch.

Finally, using Neovim

Learning on how I could make my neovim from scratch, I’d used the following YouTube series:

Finally! Neovim was mine, and I can make it my way, learn my own. And so, for the past two ish months, it’s now my almost everything editor, on both Linux and Windows. It’s used for all things, coding, blog writing, Obsidian, just to name a few.

I feel that in the last two months, I’ve learnt a lot and I really, hate using the arrow keys now, guess it’s a perk of (neo)vim. I’ve got vim enabled anywhere I can, browser, VSCode (when I absolutely require it), IntelliJ (via IdeaVim) and of course on Hyprland/Komorebi.

This post is licensed under CC BY 4.0 by the author.