2) Simplicity. Even with all my vim plugins, I never have issues with "IDE hogging all my ram" or "intellij crashes when loading a working set including this commit" (it worked for me...).
3) Ease of access. When remoting into my boxes, I can just tmux attach and continue editing where I left off, even on a shitty connection (using mosh). Very useful on train/conference wifi.
In the spirit of your first clause, these are personal reasons that work for me. I have not listed the cons, of which there are many, and don't expect my reasons to apply universally.
I use Sublime for almost everything, but sometimes I edit code I have on some servers where I don't want to manage a whole git repo and do pushes/pulls. I have vim and a .vimrc on those -- I could imagine replacing them with neovim if it had something shiny enough.
I also sometimes end up just popping open a file locally, e.g. a config file or a one-off script, and I don't want another sublime window for it. I think I may even have less bound to open up vim, for syntax-highlighting reasons.
I'm not saying other people need to do what I do, just explaining that some folks like me like good terminal editors, even if we've moved a lot of daily driving into other applications.
Edit: Microsoft also funds some of the work on the Haskell compiler as I understand it. On the other hand I unfortunately now have to use crap like Outlook and Office 365 at work, so it's not like I don't understand the dismissive "inferior microsoft products" but we really can't say that any longer when talking about development environment tooling (which is what TFA is about) and programming languages.
I switched from Emacs to VSCode because I liked the feel of the more modern UI, but it certainly wasn't because Emacs was less good as an IDE. I can't think of anything I do in VSCode that I didn't have configured in Emacs.
- I do a lot of work in a terminal. VSCodes terminal support is pretty bad. It might be better when they get nicer terminal tab support (not what they recently added)
- vim + terminal is considerably lighter and faster
What do you mean by this? Is it some kind of same address space thing rather than LSP servers over sockets?