I'm wondering how feasible is it to run your development 100% on a remote machine. One of the drawbacks is that you need always access to internet, but this would not be a problem for me.

I don't think that ssh + vim would work for me. I like GUI editors. Is there a good self hosted cloud IDE? Or is it maybe possible to run VS Code on a remote machine and access it through a web interface?

I use c9.io, and also a self-hosted version (https://github.com/c9/core) occasionally.

Using even the free c9 service, connecting to your own server via SSH, you can create a fantastic collaborative development environment.

Although I do most of my development locally, cloud IDEs are perfect for the remote pair-programming use-case - they're far better than screen-sharing.