I have used many ides and editors over the years, including nano, emacs, vi, Notepad++, CodeWarrior, JetBrains, Code Composer, MPLAB, Cider, VS Code, and now Helix.
I've found that the most important things for me to be productive are:
- UI speed. Lag in the UI is a constant friction that just eats away at you.
- Fast fuzzy search for files, names, definitions, and references. The larger the codebase, the more important this is.
- Good keyboard controls for everything with sane, discoverable bindings. Digging into a menu to do something or having hesitation about hitting a key because I'm not sure what it will do is a huge time suck. It's not about the time it takes to move the mouse, but the context switch from typing to looking for how to do something.
- Good out of the box experience. I don't want to have to spend hours or days rebuilding my setup if I'm on a new machine and can't bring over my stuff for some reason. Sure, I want to be able to adjust things to my liking but a clean setup should be good enough to be productive. And bringing over my setup shouldn't be more difficult than copying over a zipped directory.
- Really good multi language syntax support, tree parsing, highlighting, etc.
Currently for me Helix is winning on all of the fronts. Cider was surprisingly great, particularly at search, but isn't available to us plebs, VS Code is ok, emacs and vi can get there but have terrible out of the box and discoverability issues. The others have major problems with multiple criteria.