Collaborative Emacs
When collaborating on a project, all kinds of problems can occur. In particular, version conflicts can be difficult to resolve and can be interruptive of a workflow. For this problem (and others), version control systems like Git may be used. (Not needed for this page)
Moreover, while collaborating it might be nice to see eachother's changes in real time: a particularly difficult case of version control. To this end, the CRDT datastructure is created. Several editors have an implementation of CRDT to allow for collaboration.
This page focusses on CRDT collaboration with Emacs. Emacs open in the terminal, and hence this guide allows for collaborative work live on the server.
Step by step guide
- Connect to chochop:
USERNAME@145.24.139.16
- Enter your password
- Open emacs:
- Enter
emacs
- Enter
- IF THIS IS YOUR FIRST TIME COLLABORATING THROUGH EMACS: Install the CRDT package:
- If you are using MacOS, perform the following steps. Otherwise, skip to 3.2
- Go to terminal settings
- Go to profile
- Check the box 'Use Option as Meta Key'
- Press
Alt+X
(MacOption+X
) - Enter
package-install
- Enter
crdt
- If you are using MacOS, perform the following steps. Otherwise, skip to 3.2
- IF YOU ARE THE HOST OF THE SESSION:
- Press
Control+X Control+F
- Type in the path for the file you want to share, press return.
- Press
Alt+X
- Type
crdt-share-buffer
- Press return
- Press
- IF YOU ARE JOINING A SESSION:
- Press
Alt+X
- Use
crdt-connect
- For URL, enter:
localhost:6530
- Press
- For Display, enter:
USERNAME
- Select the the file you want to work on:
- Use the arrow keys to move to the file you want to work on
- Press enter
You should now be able to collaborate! Should being the operative word.... This works in duos, maybe not in groups of six...