Skip to content
Plugin to enable collaborative edition on etherpad with the best editor
Vim script
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
plugin improved error handling Apr 21, 2013
pylibs Changed target commit hash for the PyEtherpadLite submodule Mar 17, 2016
.gitmodules added submodules for pyetherpadlite and socketio-client dependencies Apr 9, 2013 Higher quality gif Sep 17, 2015

Etherpad Client for VIM

This plugin uses EtherpadLiteClient to connect to a pad on an EtherPadLite server and enables collaborative edition in your favorite editor.

Click me for a demo video of good quality](


As is, the plugin is only a Proof-of-Concept, that is still not configurable and not fail-proof. It can get updates from the server, and generate/send changeset to the server, but that part is still pretty buggy. The Vim integration ready to be tested, though still in beta phase. It can happen that a typed change will revert.

Supports pad connection using websocket flawlessly, but xhr-polling is still beta (it may need several reconnections to work). json-polling has been implemented, but does not still work. See SocketIO-client for more.


Vim needs to be compiled with the python option enabled.

There's a dependency on the python library requests:

pip install requests

To run the plugin for dev or testing, you can launch vim as follows:

vim -c 'source plugin/vim-etherpad.vim'

Configuration in .vimrc

" To connect to the pad at URI http://localhost:9001/p/test per default:
let g:epad_host = "localhost" " Hostname to connect to
let g:epad_port = "9001"      " Port to connect to
let g:epad_path = "p/"        " URL Path to the pad
let g:epad_pad = "test"       " Name of the pad to connect to

" GUI feel
let g:epad_updatetime = 1000  " lower this for more realtime, higher this for less load

" GUI look
let g:epad_attributes = 0     " set to 1 to display attributes (works only with a font that)
let g:epad_authors = 0        " set to 1 to display authors (works only in gui mode)

" Enable verbosity
let g:epad_verbose = 0        " set to 1 for INFO level, 2 for DEBUG level


To connect to a pad:

:Etherpad     " connects to the default URI spec and default pad
:Etherpad foo " connects to the 'foo' pad at default URI
:Etherpad " connects to that pad's URI
:Etherpad      " another one

To disconnect from a pad:


To pause (or resume) current pad connection:


To try sending an update (will fail, changeset building library is work in progress):

make some edits and then:


To toggle (or set) display of attributes:

:EtherpadShowAttributes   " toggle attributes
:EtherpadShowAttributes 0 " disable attributes
:EtherpadShowAttributes 1 " show attributes

The same with authors:

:EtherpadShowAuthors   " toggle authors
:EtherpadShowAuthors 0 " disable authors
:EtherpadShowAuthors 1 " show authors


though install is still not recommended, you can install it as a Vundle bundle:

Bundle 'guyzmo/vim-etherpad'


All the plugin's code is under the GPLv3.

You can’t perform that action at this time.