

Adding Realtime Collaboration to Vim - kansface
https://news.floobits.com/2013/09/16/adding-realtime-collaboration-to-vim/

======
shortcj
Will this run on an Amiga and BeOS?

~~~
kansface
I haven't looked, but I doubt it. We could always patch those modules too, but
its not worth the effort. The real problem is getting a working python.

~~~
shortcj
Sorry; that was a bit of teasing.

Real question: I have experimented with RTC using TMUX and VIM; and it seems
like an essential meh factor was the single cursor; sure any of us could take
the "driver seat." But a rogue mode with multiple cursors on the screen would
be more like the google docs implementation; and this does not seem like a
problem you have solved??

~~~
kansface
If I understand your question, you want to know if its possible for multiple
people to type at the same time? The answer is yes- all changes are synced in
real time to everyone. Ideally, the user experience is no different, just
multiple sources of input. We also have some tools built around following
incoming changes, etc.

~~~
shortcj
"Cursors" was the question; with TMUX and VIM in rogue mode multiple people
can type independently in a separate "window." But it only supports one cursor
per window.

google docs on the other hand seems to allow multiple cursors on the same
window. So one person may type in section 1; while the other person type in
section 2 without interfering with each other.

With a single cursor however; when two people type at the same time they
almost necessarily interfere with each other. Unless one stops driving while
the other types.

I think to implement the 'google docs' style multiple editors would require a
different buffer for each user and a merge script that periodically runs the
commands for each ofthe other multi-user buffers into each other buffer of the
multi-user sessions.

~~~
kansface
Sorry for the late reply. Floobits doesn't actually work on the level of
cursors. It understands changes in buffers. As you pointed out, we ship around
patches and attempt to merge them in sane ways relying on eventual
consistency. We also have to keep around the previous state of the buffer (in
general).

The benefit of this system is that multiple people can edit the same file at
the same time. The downside is that when they interfere with each other, they
get garbled text (instead of interleaved).

