Sublime Forum

TMUXish Remote Pairing?

#1

When it comes to remore pairing and Sublime the best you can do is use some screen sharing application. Hands down this can be one of the most frustrating experiences as a developer. Eventually you’ll convince yourself that you just need to get everyone on the TMUX bandwagon. Why? Wouldn’t it be awesome if you could connect two SublimeText editors together the same way you would a TMUX session. I think it would be awesome. Especially if one pair could use their sublime “vintage” mode while the other (maybe front-end designer) could use the mouse+keyboard bindings they are comfortable with. It would Rock and would make Sublime 10x more awesome. If it worked well that is. There are considerations and design decisions that would need to be made.

If I’m not the only one interested in this kind of feature, then I’d be more than willing to at least start the development with some other people’s help. I know a couple people I might be able to pull in locally (to me that’s West Michigan) but anyone who is willing to hack is more than welcome to help.

0 Likes

#2

This would be very cool to implement as a plugin.

0 Likes

#3

Even if the macro/command system was comprehensive to the point that all buffer mods could be described as so, you’d still need duplicate setups in terms of plugins/packages on both ends. Even then … it’s just not practical … So failing that perhaps you could somehow synchronise buffer modifications over the wire in an efficient manner? Without efficiency, it’s not really of much use.

Sublime currently only has The buffer was modified, somewhere, don't ask me where event notification. My gut feeling is it wouldn’t be worth trying until Sublime has the capability for requesting more detail inside modification events. Maybe ST3?

0 Likes

#4

I think I was a bit confused. I was thinking something like Google Wave/Etherpad where you can make simultaneous edits in a buffer.

You are talking more like Sublime running in server mode on a remote server attached to by 1 or more people? The control streams would be interleaved? What would actually get sent back by this session server? Text? Bitmaps?

Hrmm, I guess you aren’t talking like that. Sounds like each client would have to send the modifications to the server / peers.

Sounds again like a problem of getting the buffer mods and then syncing em.

Tricky.

0 Likes

#5

To clarify what I was thinking would be required at a minimum:

  • Tabs/Files opened and update both clients as tabs are switch to/opened.
  • Cursor position within the active document
  • Selected Text
  • Obviously the text and changes to it as they occur

I don’t know if every package/plugin would be required if you keep it to open files and text initially. Could something with this functionality be implemented as a plugin?

NOTE:
I would even think something like a “presenter mode” would be acceptable where one person is driving and you would switch control back and forth.

0 Likes

#6

This is exactly what I’ve been thinking about today when a friend co-worker paired with me remotely over “screen” session on an Ubuntu server while using vim … We both can edit the same file and can see each other’s changes … It was amazing!

If we can have a similar experience in SublimeText2, that would be even more amazing :smile:

0 Likes

#7

tmux integration or equivalent => +1

0 Likes

#8

Does anyone know of any plugin to do this or SubEthaEdit style remote shared editing?

0 Likes

#9

Huh. This is a really interesting idea. It could be project-centric with a fairly simple client-server model.
All you would have to send would be the text buffer updates, cursor(s) positions, and file system events (new file/folder, save file). Syntax highlighting, code completion and every other cool plugin-related thing could be handled on the client side. You would NOT want to send keystrokes so that each user could have his/her own keybindings. You wouldn’t necessarily need to be working on the same files as the other users, but if you did open a file that another client was working on, you would see the edits in real time.

This could efficiently be done over even a modest connection.
I’ve briefly looked in to the architectural design of TMUX and it seems that a lot of concepts could be borrowed. It’s possible that you could even write a plugin that did this that could communicate with a regular tmux server using the existing tmux protocol.

0 Likes

#10

BTW: I found a related topic over at UserEcho, I don’t know which forum is monitored more, so I’m cross posting links back and forth in each place.

sublimetext.userecho.com/topic/3 … e-editing/

0 Likes