I do all those same things in VS Code, especially the vim bindings, wouldn't give those up, but did recently leave the vim ecosystem because I had to spend too much time making the IDE work or enable features that are out-of-the-box in a code-oss based IDE