Movement:
Moving around is a hassle at first, most people insist using arrows instead of hjkl, but even thous are slow and tedious. You get much more mileage from using w, e and b for jumping between words, but even thous get slow after a while and recently I've been using the f and t commands to Find and jump To places (characters) I want to. Obviously it requires some time to learn and I am by no means perfect, but I dare to say it is faster than scrolling and pointing with a mouse.
Plugins:
I don't really see how installing plugins is tedious, you just slap one of the managers into your ~/.vim/autoload (I use pathogen) and then rest you just clone to ~/.vim/bundle. Vim doesn't have build in plugin browser and one click install, like Atom does, but at least to me that is not a problem. Maybe it's because I don't use that many plugins, who knows.
Tabs/buffers:
These do take some time to get used to, but I wouldn't say they are any more clunky than your average editors tabs.
Memorizing commands:
At first it seems like insurmountable task since almost every key is a command and as you mentioned most plugins have their own commands, but truth is you don't need most of them to get started and as you use the tool (or at least thats how it was with me) you Google how to do something tedious faster and there is almost always a better method. As for the "file tree view", I don't know what that plugin is, but I can guess and I used something called NERDTree at start, but vim's build in :find command is pretty powerful at just finding what you need and now I use fzf which makes finding files even faster.
Over all I get why you might dislike vim even without trying it (since most vim users constantly push their shitty editor (and dont get me wrong vim is shit, but it's least shit editor I've yet found)), but I suggest you try using it on a side project and see if you like it, don't install any plugins at first just try reading the documentation and making changes to the config as you go along. I bet you'd be surprised how much you'd enjoy it.
Why don't I like it as an IDE?
* Second hand auto complete
* Second hand project management
* No debugger
These are actually to me huge features and the third party support for each of them exists but doesn't touch the quality of implementation in a dedicated IDE. Not to mention it adds hours of extra work to getting started in an environment you don't already have configured.
And frankly, you don't have to learn vim to recognize this.
For me auto complete works just fine and I don't know what project management means.
I think VSCode/atom fit in the nice space where you don't want huge, intensive projects, but you do want to do some real programming (aka you'll need this discovery and a good debugger).
Ok :)
[1] Intro blog post: https://code.visualstudio.com/blogs/2016/06/27/common-langua...
[2] http://langserver.org/ - has a table of current implementations
If ST was open source, there would be no need for a competing GUI text editor IMO.
As for plugins I do not see the need for NERDTree or buffer management. At least for me searching (:find for files and :b for buffers) works perfectly fine and I dare say better/faster than file tree navigation.
Multicursor is fun, but it can be achieved with a plugin in vim also, but I'd just make a macro for it.
Moving lines up and down can be easily done with dd and p, so I don't see the issue here either.
>competing GUI text editor
There might be your problem for me using vim with tmux makes my life so much simpler than using gVim or other GUI editors.
Didn't knew Ctrl-Shift-Up/Down how can I've been coding without!
https://marketplace.visualstudio.com/search?target=VSCode&ca... Providers
An analogy would be if VSCode shipped with a fancy CodePlex dashboard by default (I know CodePlex is dead). There's an obvious incentive for them to pick sides but it's not in the best interest of the people using the editor nor the editor itself.
Or, for example, a "Deploy to Azure" button...
(It's had that button since Azure started)
Thing is, nobody is going to download Atom, see that the GitHub support is built in and say 'oh! Now we're going to have to migrate the team to GitHub!'.