vim-signify/doc/signify.txt
2013-04-16 11:37:57 +02:00

306 lines
9.0 KiB
Plaintext

*signify.txt* Seeing changes like a boss.
*signify*
___
__ __ /'___\
____/\_\ __ ___ /\_\/\ \__/ __ __
/',__\/\ \ /'_ `\ /' _ `\/\ \ \ ,__\/\ \/\ \
/\__, `\ \ \/\ \L\ \/\ \/\ \ \ \ \ \_/\ \ \_\ \
\/\____/\ \_\ \____ \ \_\ \_\ \_\ \_\ \/`____ \
\/___/ \/_/\/___L\ \/_/\/_/\/_/\/_/ `/___/> \
/\____/ /\___/
\_/__/ \/__/
Reference Manual
==============================================================================
CONTENTS *signify-contents*
1.Intro..........................................|signify-intro|
2.Usage..........................................|signify-usage|
3.Options........................................|signify-options|
4.Commands.......................................|signify-commands|
4.Mappings.......................................|signify-mappings|
5.Author.........................................|signify-author|
6.Credits........................................|signify-credits|
7.License........................................|signify-license|
==============================================================================
1. Intro *signify-intro*
Signify, or just sy for short, is an quite unobtrusive plugin. If there is
information about changes (in form of patch hunks) since the last commit, they
will be shown on the left side in Vim's sign column.
Easy-peasy!
==============================================================================
2. Usage *signify-usage*
The usage is pretty straight-forward. By default you should only notice a
difference, if you're working in a directory that is managed by a supported
version control system:
- git
- mercurial
- darcs
- bzr
- subversion
- cvs
- rcs
- fossil
The plugin defines 4 new kinds of signs and their corresponding highlighting
groups. It tries to inherent existing colors from the SignColumn group, if
that fails, it sets its own colors. In case you don't like these colors, you
can change them easily through variables.
Sign explanation:
+
A new line was added. The sign is shown on the same line as the new line.
_
A line was deleted. The sign is shown on the line above the deleted line.
Special case: The first line was deleted. In this case the sign is shown on
the same line.
!
A line was changed. Something was changed, but the amount of lines stayed the
same. The sign is shown on the same line.
!_
A line was changed and one or more of the lines below were deleted. A
combination of ! and _. The sign is shown on the same line.
This is used instead of _ in the special case of the first line being removed.
==============================================================================
3. Options *signify-options*
Put these variables into your vimrc. The shown assignments are only examples,
not defaults.
============-
let g:signify_vcs_list = [ 'git', 'hg' ]
Default: ['git', 'hg', 'svn', 'darcs', 'bzr', 'fossil', 'cvs', 'rcs']
This variable determines the VCS to check for and in what order. If you only
use git and mercurial, you can shorten the list to the shown example. If you
use mostly mercurial and only sometimes git, put 'hg' in the front of the
list. It's basically a priority list.
This can improve buffer loading time since by default all supported VCS will
be checked for, so you are advised to change this variable to your needs.
NOTE: This only happens once the first time signs get updated. Afterwards, the
VCS will be remembered anyway.
NOTE: If you don't change this list and Sy is activated, updating signs for a
non-VCS file can lead to significant delay since all supported VCS will be
tested for.
============-
let g:signify_mapping_next_hunk = '<leader>gj'
let g:signify_mapping_prev_hunk = '<leader>gk'
Mapping for jumping to the next or previous hunk.
============-
let g:signify_mapping_toggle_highlight = '<leader>gh'
Mapping for toggling line highlighting for lines containing changes.
============-
let g:signify_mapping_toggle = '<leader>gt'
Mapping for toggling the plugin for the current buffer only.
============-
let g:signify_skip_filetype = { 'vim': 1, 'c': 1 }
let g:signify_skip_filename = { '/home/user/.vimrc': 1 }
Don't activate the plugin for these filetypes and/or filenames.
NOTE: Filenames have to be absolute paths.
============-
let g:signify_sign_overwrite = 1
Overwrite signs set by other plugins by default.
============-
let g:signify_update_on_bufenter = 1
Update signs when entering a buffer.
NOTE: Disable this if you're working in huge repositories and experience
delays.
============-
let g:signify_line_highlight = 1
Enable line highlighting in addation to using signs.
============-
let g:signify_sign_add = '+'
let g:signify_sign_change = '*'
let g:signify_sign_change_delete = '!_'
let g:signify_sign_delete = '-'
let g:signify_sign_delete_first_line = '‾'
The sign to use if a line was added, deleted or changed or a combination of
these.
============-
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'
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
The colors of your signs.
============-
let g:signify_sign_color_group_add = 'MyAdd'
let g:signify_sign_color_group_delete = 'MyDelete'
let g:signify_sign_color_group_change = 'MyChange'
Link to another highlight group for setting sign colors. If this option is
set, any other sign color option for that change class will be ignored.
Example:
is set: g:signify_sign_color_group_delete
ignored: g:signify_sign_color_ctermfg_delete
ignored: g:signify_sign_color_guifg_delete
============-
let g:signify_line_color_add = 'DiffAdd'
let g:signify_line_color_delete = 'DiffDelete'
let g:signify_line_color_change = 'DiffChange'
The highlight groups to use with line highlighting.
============-
let g:signify_sign_color_inherit_from_linenr = 1
Make signs use the same background color as LineNr.
============-
let g:signify_cursorhold_normal = 1
let g:signify_cursorhold_insert = 1
Additionally trigger sign updates in normal or insert mode after 'updatetime'
miliseconds without any keypresses. This fires only once between keypresses,
thus not every 'updatetime' miliseconds.
NOTE: This also saves the buffer to disk!
==============================================================================
4. Commands *signify-commands*
4. Mappings *signify-mappings*
:SignifyToggle
Toggle the plugin for the current buffer only.
Default mapping: <leader>gt
============-
:SignifyToggleHighlight
Toggle line highlighting for lines containing changes.
Default mapping: <leader>gh
============-
:SignifyJumpToNextHunk
Jump to the next hunk. There are two mappings available:
Hardcoded mapping: ]c
Configurable mapping: <leader>gj
============-
:SignifyJumpToPrevHunk
Jump to the previous hunk. There are two mappings available:
Hardcoded mapping: [c
Configurable mapping: <leader>gk
==============================================================================
5. About the author *signify-author*
My nick on Freenode IRC is mhi^.
For latest developments: https://github.com/mhinz
If you use any of my plugins, star it on github. This is a great way of
getting feedback! Same for issues or feature requests.
Thank you for flying mhi airlines. Get the Vim on!
==============================================================================
6. Credits *signify-credits*
People who contributed to sy. Format: Person (Github account)
Jeremy Mack (mutewinter)
Chong Li (chongli)
Robin Munn (rmunn)
Martin Hoch (rtwo)
fritzophrenic (Ben Fritz)
Morgan Fouesneau (mfouesneau)
Zhao Cai (zhaocai)
Otto Modinos (otommod)
Ryan Kois (kid-icarus)
==============================================================================
7. Licence *signify-license*
Copyright © Marco Hinz. Distributed under the same terms as Vim itself.
See |license|.
vim: tw=78