Finding the right development environment is a journey of balancing efficiency, customization, and reliability.
Before I continue, I would like to clarify that I do not wish to start an editor “holy war.”
I believe that both Neovim and Visual Studio Code (VSCode) are exceptional and powerful editors.
The choice of a development tool is highly subjective, and what works for one person might not work for another.
I am simply sharing my personal feelings and the journey I took to find the setup that fits my specific needs.
I began my workflow using VSCode due to its user-friendly interface and extensive plugin ecosystem.
However, I soon found the constant reliance on mouse-driven operations to be a bottleneck.
My objective was to achieve a completely keyboard-centric workflow to maintain focus and speed.
Although VSCode provides a powerful built-in keyboard shortcut system, it requires frequent use of arrow keys and function keys.
I started with VSCodeVim, a popular extension that brings Vim-like keybindings to VSCode.
It almost met my requirements,
but I discovered that it became extremely slow when I worked with large files.
Furthermore, it could not synchronize well with my existing Vim configuration.
I do not like the idea of editing a vimrc and a json configuration file twice for the same functionality.
To address these limitations, I transitioned to Neovim.
I initially explored LazyVim, a popular Neovim configuration that offers a comprehensive set of features out of the box.
But I quickly realized that the pre-configured framework was too bloated for my requirements.
I Preferred a minimalist setup where I understood every line of my code in my configuration.