- If you use X then you can use
‘M-x make-frame-on-display’ (see EmacsManual:Multiple Displays) for collaborative editing or supporting newbie Emacs users remotely. See also Re: two people editing one document. The problem here is that connection issues can cause both frames to hang.
- If you have emacs 23, multi-tty works like make-frame-on-display, except that each person needs to connect to your emacs. (This is somewhat similar to using screen, but each user can resize their terminal without affecting the others.) You can give each user their own colored “point” with JonathanRockway’s colorful-points mode. The connection can also be accelerated (reducing lag time over a slow connection) using mosh .
- Anyone have a more detailed description of how to set this up?
- Rudel is a collaborative editing extension for GNU Emacs written purely in Emacs Lisp. It is designed to support multiple protocol backends to enable interoperability with other collaborative editors. The most complete backend implements the Obby protocol mentioned above. Using this backend, Emacs can act as an Obby client and as an Obby server (possibly at the same time). Due to a limitation of gnutls-bin, the server does not support encryption.
- GNU Screen is a terminal multiplexer. Run Emacs in console mode (
emacs -nw) within
screen for multi-user real-time collaborative editing (and much more). Works across *n*x, Mac OS X, even W32 (with Cygwin installed). Check out Bill Clementson’s awesome emacs/screen setup.
- One minor problem is that screen has to run setuid root for users to share a screen session. An alternative is to use tmux for collaborative editing, which doesn’t have this requirement.
- SubEthaEmacs is a (dead?) attempt to get Emacs to grok SubEthaEdit's closed collaborative editing protocol. The authors of SubEthaEdit? are actively hostile to interop attempts.
- Docsynch is an open cross-editor collaborative editing protocol that runs over IRC. Plugins exist for JEdit, vim and a few other editors, but only the JEdit version seems to be complete. Development seems stalled. (Last news item was dated 2004.)
- Obby is another open protocol. The reference implementation is called Gobby and is a cross-platform GTK editor. Rudel (mentioned above) uses Obby. ebby was an attempt to work with an older version of the Obby protocol; it’s now deprecated.
- Egret – An extension to XEmacs.
- Shemacs is a tool implementing synchronous multi-user support for the Emacs editor using Egret, a client-server-agent framework for implementation of domain-specific, collaborative, hypertext systems.
- Conspire mode achieves realtime, collaborative editing using git as a backend. Works only over a LAN.
- Google Wave for Emacs – An ongoing discussion concerning future Google Wave support in Emacs.
- Floobits provides real-time collaboration tools for a variety of editors including an Emacs plugin.
- Lockstep synchronizes two frames (cursors and visible buffers) so that the “passenger” sees the edits of the “driver” in real time.
LukeGorrie wrote shbuf http://www.bluetail.com/~luke/shbuf/ which formerly required erlang for the server (since emacs didn’t have server sockets) but I think it only requires gnumacs now (xemacs doesn’t have server sockets) --ShaeErisson