Skip to content
Show a diff via Vim sign column.
VimL Shell
Latest commit 76bde23 Jun 19, 2016 @mhinz Avoid errors from older Vims that don't support <nomodeline>
The <nomodeline> flag for :doautocmd was implemented in 7.3.438. Certain
LTS distros, e.g. Ubuntu 12.04, come with even older Vim versions,

Silently ignore the flag in such cases.

Closes #185


Signify (or just Sy) is a quite unobtrusive plugin. It uses signs to indicate added, modified and removed lines based on data of an underlying version control system.

It's fast, easy to use and well documented.

NOTE: If git is the only version control system you use, I suggest having a look at vim-gitgutter. It provides more git-specific features that would be unfeasible for Sy, since it only implements features that work for all supported VCS.


  • supports git, mercurial, darcs, bazaar, subversion, cvs, rcs, fossil, accurev, perforce, tfs
  • quick jumping between blocks of changed lines ("hunks")
  • apart from signs there is also optional line highlighting
  • preserves signs from other plugins
  • you can toggle the plugin per buffer
  • good documentation
  • skip certain filetypes and filenames
  • depending on your usual workflow you can disable it per default and enable on demand later
  • fully configurable through global variables (options and mappings)

Installation and Documentation

Use your favorite plugin manager.

Using vim-plug:

Plug 'mhinz/vim-signify'

It works without any configuration, but you might want to look into the documentation for further customization:

:h signify

NOTE: The single most important option by far is g:signify_vcs_list. Please read :h g:signify_vcs_list.


Example:signify in action

Author and Feedback

If you like my plugins, please star them on Github. It's a great way of getting feedback. Same goes for issues reports or feature requests.

Contact: Mail | Twitter | Gitter

Co-maintainer: @jamessan

Get your Vim on!

Something went wrong with that request. Please try again.