1) in my experience of remote paring, the vim flow definitely helped a lot because it saved the trouble caused by screen switching and tabbing different window, which can easily lose the flow for the peer.
2) I think TDD is essential; it is usually difficult to follow driver's thought process without the TDD work flow, and if the peer lost the logical flow, most of paring time will be wasted. TDD made it possible for both sides to divide task into small problems and incrementally solve each small chunk.
I've used ScreenHero before as well, When they got acquired by Slack they closed the signup for new users.<p>ScreenHero was actually the best product I have ever used in the space.<p>Some great suggesting in the post. Thanks for sharing