When possible, I think it's much better to edit the code locally and synchronize it periodically with the remote. This doesn't need to be clunky, and is an extension of the fact that you need to periodically synchronize buffer contents with their file a.k.a. save them.