Distributed version control of source code.
Put in your ~/.config/hg/hgrc:
~/.config/hg/hgrc
[ui] editor = vim