I've used a ton of IDEs and text editors to. Tried and tested everything to find which one can use best to optimize my workflow and write absolutely garbage code.
Before NeoVim
At first, I started with PyCharm by JetBrains. Pretty awesome IDE. A solid 9/10. However, it was too heavy for my liking. I was constrained by the specs of my device since I started out with a pretty weak laptop.
I had to switch.
I moved to VSCode. Loved the huge variety of extensions but yet again... too slow. Then I tried Atom (RIP Atom). Not sure why I gave up on it, but I did.
The Savior
After all this, I found the one that suits my needs the best.
Sublime Text.
(Did you think I'd say NeoVim? not yet.)
Light. Fast. Customizable. Too good!
I spent almost two years on Sublime Text.
I loved it. However, FOMO caught up to me. Moreover, I considered the "it makes you faster, more productive, etc" arguments and gave it a try.
NeoVim
I tried NeoVim with LunarVim. It was a really smooth experience for me. However, I wanted to customize it to my wants. I decided to give it a try by building a NeoVim config from scratch. I used Lazy for plugin management, Mason for LSPs, LuaLine and the Catppuccin theme.
The Experience
It's going well so far. However, the initial "learning curve" (me getting habituated) was costing me my productive. So, I decided to quit it and go back to Sublime Text for now. I'll return soon.
I loved setting NeoVim up and how fast NeoVim was. Using only the keyboard was fun but productivity comes first. I'll try NeoVim again and see how it goes!
Feel free to suggest me something, or uhhh, to just say something about it. Cheers!
Top comments (5)
I go through the same (more or less) too. I like how coding in neovim (I use lunarvim now) feels, that resonates with me. But I lack some stuff from WebStorm — the IDE I feel the most productive in. Specifically the habitual flows of navigation and git.
What are your blockers preventing from switching fully to neovim, just curious?
Great to hear that you resonate with me.
Actually all the built in goodies and especially the mouse copy and paste in Sublime etc.
Then there's file creation n stuff. Just kinda annoying in NeoVim.
First of all, you need to learn VIM and Neovim motions and practice on random texts for a while. For this, you can prefer tutorial structures and games like VIMTutor.
Afterwards, before you start dealing with Configurations, I recommend you to install a ready-made Distribution (for example, LazyVim, AstroNvim, NvChad, Neovide, Kickstart) and see all the features.
Finally, I recommend you to discover Command Mode commands and functions such as
cdo
,quickfix
,normal
,g
,s
on vim/neovim. You will use these structures a lot, especially in IDE and Refactoring processes.You can have a full IDE experience with packages like
telescope.nvim
,spectre.nvim
,fzf.nvim
,Trouble.nvim
,surround.nvim
,undotree.nvim
.Stay away from complex VIMScript and Lua configurations at the beginning. You need to be an intermediate level user or above for these. After you start using basic skills and plugins sufficiently, you can start other packages.
Of course, these are systems that can be learned in an estimated period of 1.5 months with half an hour of work per day. After being patient for this period and completely mastering the system, you can stand up a project that you made in 4 hours with VSCode in 45 minutes with vim. (I state this sincerely with my own experience)
Also, try watching the content of a certain channel on Youtube from beginning to end. In open source programs like VIM and Neovim, you may experience confusion while watching because there are unlimited configuration possibilities and unlimited number of different configurations. Therefore, I recommend that you learn the systems you understand by following them from beginning to end.
best advice! 👏🏻
that's actually some very well curated advice. and ill surely try it out. im kinda familiar w neovim but for now i'll move from my custom config to using lunarvim.