VSCoder
Everyone has that phase in their coding journey where they are so used to using a tool that they feel like “I am speed.” I was fast af with VSCode. I was using arrow keys to their maximum potential. At this time, I had no clue what in the hjkl is Vim. I was fast because I was using extensions; VSCode would auto-import stuff (I was doing JavaScript). Everything was perfect.
Neovim Arc
I began my Neovim journey when I discovered the legend, ThePrimeTime. I watched his series on Vim. Fast forward to one week later, and I was using Neovim’s distribution LazyVim. I started using LazyVim as my primary editor. I was happy; it was so cool at first because my hands would never leave the keyboard—finally, no more arrow keys! But I was spending more time on configuration than I would have on coding. This excuse was not enough for me to go back to VSCode, so I kept adding different plugins, changing keymaps, etc. The problem was that I was so used to auto-imports, renaming symbols, quick jumping, etc., that I couldn’t use them in Neovim. There might be some plugins for that, but I was not enjoying the configuration that much anymore. It felt like adding functionalities to Neovim that were already in VSCode.
The Switch
One random day, YouTube recommended me a video about using Vim with VSCode. I watched the entire video, and I was sold. It was time to go back to VSCode. This time, I set my priorities straight:
- Vim keybindings
- Navigation
- Neo Tree
- Minimal UI
So I installed the Vim plugin for VSCode, created custom keybindings for navigation, and set up keybindings similar to Neo Tree for the VSCode Explorer. Finally, I disabled all the unnecessary UI components in VSCode. I mean, who uses breadcrumbs and the minimap?
If you want to see my configuration files, they are in my dotfiles. This is the perfect editor setup for me so far; I can leverage the best of both sides.