Vim and Mercurial
There is a number of plugins for interacting with mercurial. You may find them on the page that lists OtherTools. Here are a few notable ones.
Bob Hiestand has developed a vim plugin called VCSCommand useful for manipulating files controlled by CVS, SVN and SVK within VIM, including committing changes and performing diffs using the vimdiff system. It was later extended to support other VCS software, including Mercurial (since version 1.99.31 posted on 21 July 2009).
After installing the plugin, you may use it to add, remove, commit, annotate, view older versions, changes (as a diff or in a vimdiff split) of files; update directory state and view log.
LudovicChabant has written another vim plugin called Lawrencium, specifically for Mercurial. It supports all the basic workflows you would expect, along with a few more advanced ones. You can find more information on the Lawrencium home page.