I use a text editor to modify the code of the digital products that I’m working on.
Modifying code is an important part of my work so I’ve made sure to try most of the mainstream text editors including:
- Vi, Vim, Neovim
- Emacs
- Visual Studio Code
- Sublime Text
- Nova
- JetBrains’ suite of Integrated Development Environment (IDE) tools
Choosing just one editor is complicated. I personally have most of the aforementioned tools always installed in my development environments as I can appreciate some of their differing strengths in specific situations.
For example, sometimes I just want to browse code.
Maybe I’m investigating a bug.
I find that the JetBrains’ suite’s Cmd + Click shortcut to go to the definition of variable, function, etc. to be the most efficient way for me to get to the root of the bug. I can do it on other editors, but the JetBrains’ suite is usually faster for me.
Writing code? Vim’s modal nature, combined with word objects, and other unique ideas makes it the best choice for editing code (for me) every time.
I’m aware of Vim emulation plugins. None of them are full-featured enough for my personal standard.
If I had to call something my default editor, then it’ll probably be Neovim. It’s the only one that I’ll be the happiest to use if a one-editor life is forced on me.
I’m happy, though, that in reality, I can choose whichever editor I deem best for whichever situation happens to be at hand.
Neovim is, in my opinion, a better version of Vim but I use regular Vim where it’s not possible to use Neovim (e.g. limited server environments).
Out of curiosity, I tried Vi and found it to be a stripped down Vim with the nice parts missing.