It’s not a secret that I love Neovim. Using a terminal-based, powerful editor allows me to write new code very fast, allowing myself to get into a state of flow and transfering my ideas to the code. With its powerful motions, shortcuts, and LSP support, I can quickly add new functions, move things around, indent and outdent code (particularly relevant for Python code). And using side-by-side with tmux, I can edit some code, switch to the terminal and run some tests, go back to the code for more editing…
And yet, today was one of those days in which I worked only in an IDE. PyCharm, to be more specific.
I don’t know if I can pinpoint exactly which I use both Neovim and an IDE. Partly is to get some novelty and break out of boredom, for sure. But I’m realizing that these code-editing programs have different purposes:
The Fábio Fortkamp theory of code editors:
- Neovim (or any regular text editor) is for adding new code
- IDEs are for refactoring and structuring existing code
I love the automated refactoring capabilities of the JetBrains IDEs. Yes, there’s a refactoring plugin by the legend himself, but when in this headspace I just want to use the mouse, you know? Open a file in the file explorer, select some text, pause and think about, see the options in a menu - in short, have the IDE guide me.
There’s a more subtle effect that I find it even harder to describe, and it was something that was reminded to me in my morning run listening to this MPU episode when Neil Jhaveri was talking the very symbolic moment when he sat down and created the XCode project for Apple Notes. Yes, with tmux sessions you can delimit the context in which you are working, with each pane or window pointing to a specific folder, and when you are done you simply detach from a session, but for me opening a PyCharm IDE has a very strong meaning: for the next hour and a half, I’m working on this big Python project that need automated editing.
So yes, I use Neovim all the time; I have my config, I use beautiful themes, I follow the right NeoVim creators. But this is not a cult, and I like to keep my IDE ready when I need it.