Skip to content
vic

FredKSchott/CoVim.json
{
"createdAt": "2013-05-05T20:10:16Z",
"defaultBranch": "master",
"description": "Collaborative Editing for Vim",
"fullName": "FredKSchott/CoVim",
"homepage": "http://fredkschott.com/post/2013/05/introducing-covim-real-time-collaboration-for-vim/",
"language": "Vim script",
"name": "CoVim",
"pushedAt": "2017-12-23T16:01:23Z",
"stargazersCount": 2933,
"topics": [],
"updatedAt": "2025-11-08T08:29:22Z",
"url": "https://github.com/FredKSchott/CoVim"
}

Collaborative Editing for Vim (One of Vim’s most requested features) is finally here! Think Google Docs for Vim.

By: Fred Schott, Sam Haney
Follow @FredKSchott for development news and updates!

Demo Gif

  • Allows multiple users to connect to the same document online
  • Displays collaborators with uniquely colored cursors
  • Works with your existing configuration
  • Easy to set up & use
  • And More!

CoVim requires a version of Vim compiled with python 2.5+. Visit Troubleshooting if you’re having trouble starting Vim. Also note that the Twisted & Argparse libraries can also be installed via apt-get & yum.

  1. pip install twisted argparse service_identity
  2. cd ~/.vim/bundle
  3. git clone git://github.com/FredKSchott/CoVim.git
  1. pip install twisted argparse service_identity
  2. Add Plugin 'FredKSchott/CoVim' to your ~/.vimrc
  3. vim +PluginInstall +qall
  1. pip install twisted argparse service_identity
  2. Add CoVimClient.vim & CoVimServer.py to ~/.vim/plugin/

If Vim is having trouble finding modules (twisted, argparse, etc) do the following:

  1. run pip show MODULE_NAME and get the Location: path
  2. add the following line to your .vimrc: python import sys; sys.path.append("/module/location/path/") using the module path found in step 1.
  3. Repeat until all modules are included in your path

If you’re still having trouble, visit the wiki for additional troubleshooting & FAQ

To start a new CoVim server: :CoVim start [port] [name] (or, from the command line: ./CoVimServer.py [port])
To connect to a running server: :CoVim connect [host address / 'localhost'] [port] [name]
To disconnect: :CoVim disconnect
To quit Vim while CoVim is connected: :CoVim quit or :qall!

Add any the following to your .vimrc to customize CoVim:

Section titled “Add any the following to your .vimrc to customize CoVim:”
let CoVim_default_name = "YOURNAME"
let CoVim_default_port = "YOURPORT"

Announcement Post
FAQ
Troubleshooting

Tufts Professor Ming Chow for leading the Senior Capstone Project that CoVim was born in.

Analytics