2013-03-05 14:07:37 -05:00
|
|
|
# vim-signify
|
|
|
|
|
2013-03-06 17:40:57 -05:00
|
|
|
Or just: sy
|
|
|
|
|
2013-03-10 06:29:19 -04:00
|
|
|
Sy shows all added, deleted and modified lines since the last commit via Vim its
|
|
|
|
sign column. It supports several version control systems.
|
2013-03-05 18:30:30 -05:00
|
|
|
|
2013-03-05 14:07:37 -05:00
|
|
|
It's fast, highly configurable and well documented.
|
|
|
|
|
|
|
|
Features:
|
|
|
|
|
2013-03-11 13:49:17 -04:00
|
|
|
- supports git, mercurial, darcs, bazaar, subversion, cvs
|
2013-03-12 10:05:09 -04:00
|
|
|
- quick jumping between changed lines
|
2013-03-05 14:12:24 -05:00
|
|
|
- apart from signs there is also optional line highlighting
|
2013-03-12 10:05:09 -04:00
|
|
|
- fully configurable through global variables (options and mappings)
|
2013-03-07 06:56:25 -05:00
|
|
|
- optional preserving of signs from other plugins
|
|
|
|
- you can toggle the plugin per buffer
|
2013-03-07 07:58:54 -05:00
|
|
|
- exception lists for filetypes and filenames
|
2013-03-05 14:07:37 -05:00
|
|
|
- good documentation
|
|
|
|
|
2013-03-05 14:12:24 -05:00
|
|
|
- quick developer response! :-)
|
2013-03-05 14:07:37 -05:00
|
|
|
|
2013-03-07 07:29:54 -05:00
|
|
|
![Example:signify in action](https://github.com/mhinz/vim-signify/raw/master/signify.png)
|
|
|
|
|
2013-03-05 14:07:37 -05:00
|
|
|
Limits exist only in your mind! Vim on!
|
|
|
|
|
2013-03-12 10:05:09 -04:00
|
|
|
## Longer introduction
|
|
|
|
|
|
|
|
`supports git, mercurial, darcs, bazaar, subversion, cvs`
|
|
|
|
|
|
|
|
This plugin is based on the diffing features of the supported version control
|
|
|
|
systems. Since not all VCS support the same options, sometimes we have to fall
|
|
|
|
back to the 'diff' executable.
|
|
|
|
|
|
|
|
Current the following VCS are supported:
|
|
|
|
|
|
|
|
- git
|
|
|
|
- mercurial (hg)
|
|
|
|
- bazaar (bzr)
|
|
|
|
- darcs
|
|
|
|
- subversion (svn)
|
|
|
|
- cvs
|
|
|
|
|
|
|
|
Note: CVS detection is disabled by default, because it can lead to considerable
|
|
|
|
delay if the current repo is not a CVS one and the environment variable $CVSROOT
|
|
|
|
is set nevertheless because a remote connection could be made.
|
|
|
|
|
|
|
|
`quick jumping between changed lines`
|
|
|
|
|
|
|
|
There are mappings for jumping forth and back between changed lines (so-called
|
|
|
|
hunks). The following example shows the default mappings and how to change them:
|
|
|
|
|
|
|
|
let g:signify_mapping_next_hunk = '<leader>gn'
|
|
|
|
let g:signify_mapping_prev_hunk = '<leader>gp'
|
|
|
|
|
|
|
|
Note: In case you don't know about the mapleader, have a look at `:h mapleader`.
|
|
|
|
The default is the '\' button.
|
|
|
|
|
|
|
|
`apart from signs there is also optional line highlighting`
|
|
|
|
|
|
|
|
Sy shows you signs for changed lines. Moveover, you can enable highlighting of
|
|
|
|
the concerned lines:
|
|
|
|
|
|
|
|
let g:signify_mapping_toggle_highlight = '<leader>gh'
|
|
|
|
|
|
|
|
You can also change the highlighting classes for these lines. The defaults are:
|
|
|
|
|
|
|
|
let g:signify_line_color_add = 'DiffAdd'
|
|
|
|
let g:signify_line_color_delete = 'DiffDelete'
|
|
|
|
let g:signify_line_color_change = 'DiffChange'
|
|
|
|
|
|
|
|
`you can toggle the plugin per buffer`
|
|
|
|
|
|
|
|
In case you want to disable the plugin for the current buffer, you can toggle
|
|
|
|
it:
|
|
|
|
|
|
|
|
let g:signify_mapping_toggle = '<leader>gt'
|
|
|
|
|
|
|
|
`exception lists for filetypes and filenames`
|
|
|
|
|
|
|
|
If you want to disable Sy for certain kinds of filename or file types,
|
|
|
|
you explicitely have to create exception lists:
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
let g:signify_exceptions_filetype = [ 'vim', 'c' ]
|
|
|
|
let g:signify_exceptions_filename = [ '.vimrc' ]
|
|
|
|
|
|
|
|
`good documentation`
|
|
|
|
|
|
|
|
You should know by now!
|
|
|
|
|
2013-03-05 14:07:37 -05:00
|
|
|
## Installation
|
|
|
|
|
2013-03-06 07:51:23 -05:00
|
|
|
I suggest using tpope's plain and awesome pathogen:
|
|
|
|
|
|
|
|
- https://github.com/tpope/vim-pathogen
|
|
|
|
|
|
|
|
Afterwards, just clone vim-signify into ~/.vim/bundle/.
|
2013-03-05 14:07:37 -05:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
`:h signify`
|
|
|
|
|
2013-03-07 07:55:18 -05:00
|
|
|
## Configuration
|
|
|
|
|
|
|
|
For more info: `:h signify-options`
|
|
|
|
|
|
|
|
let g:signify_mapping_next_hunk = '<leader>gn'
|
|
|
|
let g:signify_mapping_prev_hunk = '<leader>gp'
|
|
|
|
|
|
|
|
let g:signify_mapping_toggle_highlight = '<leader>gh'
|
2013-03-10 06:29:19 -04:00
|
|
|
let g:signify_mapping_toggle = '<leader>gt'
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 05:59:52 -04:00
|
|
|
let g:signify_exceptions_filetype = [ 'vim', 'c' ]
|
|
|
|
let g:signify_exceptions_filename = [ '.vimrc' ]
|
|
|
|
|
|
|
|
let g:signify_sign_overwrite = 1
|
|
|
|
|
2013-03-11 20:14:48 -04:00
|
|
|
let g:signify_sign_add = '+'
|
|
|
|
let g:signify_sign_delete = '-'
|
|
|
|
let g:signify_sign_change = '*'
|
|
|
|
let g:signify_sign_delete = '-'
|
|
|
|
let g:signify_sign_delete_first_line = '‾'
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 05:59:52 -04:00
|
|
|
let g:signify_sign_color_guifg_add = '#00ff00'
|
|
|
|
let g:signify_sign_color_guifg_delete = '#ff0000'
|
|
|
|
let g:signify_sign_color_guifg_change = '#ffff00'
|
|
|
|
let g:signify_sign_color_guibg = '#111111'
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 05:59:52 -04:00
|
|
|
let g:signify_sign_color_ctermfg_add = 2
|
|
|
|
let g:signify_sign_color_ctermfg_delete = 1
|
|
|
|
let g:signify_sign_color_ctermfg_change = 3
|
|
|
|
let g:signify_sign_color_ctermbg = 0
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 05:59:52 -04:00
|
|
|
let g:signify_sign_color_group_add = 'MyAdd'
|
|
|
|
let g:signify_sign_color_group_delete = 'MyDelete'
|
|
|
|
let g:signify_sign_color_group_change = 'MyChange'
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 05:59:52 -04:00
|
|
|
let g:signify_line_color_add = 'DiffAdd'
|
|
|
|
let g:signify_line_color_delete = 'DiffDelete'
|
|
|
|
let g:signify_line_color_change = 'DiffChange'
|
2013-03-07 07:55:18 -05:00
|
|
|
|
2013-03-10 20:00:02 -04:00
|
|
|
let g:signify_enable_cvs = 1
|
|
|
|
|
2013-03-12 07:25:22 -04:00
|
|
|
let g:signify_cursorhold_normal = 1
|
|
|
|
let g:signify_cursorhold_insert = 1
|
|
|
|
|
2013-03-05 14:07:37 -05:00
|
|
|
## Author
|
|
|
|
|
|
|
|
Marco Hinz `<mh.codebro@gmail.com>`
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
2013-03-07 07:12:01 -05:00
|
|
|
Copyright © 2013 Marco Hinz. Revised BSD license.
|