Finally back to (Neo)vim
A month ago, I embarked on a serious attempt to transition from Vim to PyCharm. Unlike my previous attempts, I invested considerable effort — meticulously configuring settings, exchanging tips with colleagues, and even co-organizing company workshops to enhance my proficiency.
Yet, like clockwork, I found myself returning to Vim after just one month. However, this time, I didn’t revert to traditional Vim but rather embraced NeoVim.
While NeoVim isn’t new to the scene, I had never fully committed to it before. This time I did, and I’m genuinely delighted with the decision.
What I Missed in PyCharm
- Window Management — I use a complex arrangement of vertical and horizontal splits when working on my ultrawide monitor in Vim, and I couldn’t find the same practicality in PyCharm.
- Simplicity Over Feature Abundance — I made a concerted effort to utilize PyCharm’s extensive feature set, including git integration, merge request management, test suite execution, and even the Jira client. However, I realized I prefer handling these tasks through the command line and native web interfaces (though I must admit, PyCharm’s git review functionality was really great).
- Responsiveness — While PyCharm has addressed many of the performance issues I encountered previously, there remains a subtle latency that I find increasingly frustrating over time.
What I Love About Returning to Vim/Discovering NeoVim
- Asynchronous Plugins — These have been an absolute game changer for my workflow.
- Lua Configuration — The ability to configure using Lua has significantly improved my setup experience.
- Powerful Plugin Ecosystem — The combination of Coc and Pyright provides functionality that genuinely equals full-featured IDEs like PyCharm or VS Code.
Stay tuned for a dedicated article where I’ll share my complete NeoVim configuration.
By Thomas Martin
Follow me or comment