## Vim Git Gutter A Vim plugin which shows a git diff in the 'gutter' (sign column). It shows whether each line has been added, modified, and where lines have been removed. This is a port of the [Git Gutter][st2gg] plugin for Sublime Text 2. ### Screenshot ![screenshot](https://raw.github.com/airblade/vim-gitgutter/master/screenshot.png) In the screenshot above you can see: * Line 15 has been modified. * Lines 21-24 are new. * A line or lines were removed between lines 25 and 26. ### Installation If you don't have a preferred installation method, I recommend installing [pathogen.vim][pathogen], and then simply copy and paste: ``` cd ~/.vim/bundle git clone git://github.com/airblade/vim-gitgutter.git ``` ### Usage You don't have to do anything: it just works. If you want vim-gitgutter off by default, add `let g:gitgutter_enabled = 0` to your `~/.vimrc`. You can explicitly turn vim-gitgutter off and on: * turn off with `:DisableGitGutter` * turn on with `:EnableGitGutter` * toggle with `:ToggleGitGutter`. And you can turn line highlighting on and off (defaults to off): * turn on with `:EnableGitGutterLineHighlights` * turn off with `:DisableGitGutterLineHighlights` * toggle with `:ToggleGitGutterLineHighlights`. Furthermore you can jump between hunks: * jump to next hunk: `:GitGutterNextHunk` * jump to previous hunk: `:GitGutterPrevHunk`. You may want to add mappings for these if you use them often. ### FAQ > The colours in the sign column are weird. The syntax highlighting for your sign column is probably set strangely. Either modify your colorscheme or add this to your `~/.vimrc`: ``` highlight clear SignColumn ``` > What happens if I also use another plugin which uses signs (e.g. Syntastic)? Vim only allows one sign per line. Before adding a sign to a line, vim-gitgutter checks whether a sign has already been added by somebody else. If so it doesn't do anything. In other words vim-gitgutter won't overwrite another plugin's signs. It also won't remove another plugin's signs. ### Alternatives I'm not aware of any other Vim plugins which (only) show git diffs in the gutter. However these may be of interest: * [quickfixsigns_vim][qf] has a large superset of this functionality. * [fugitive.vim][fugitive] is a full-on Git wrapper. It doesn't show git diffs in the gutter (ha!) but it does a bazillion other git things. ### Shameless Plug If this plugin has helped you, or you'd like to learn more about Vim, why not check out these two screencasts I wrote for PeepCode: * [Smash Into Vim I][siv1] * [Smash Into Vim II][siv2] You can read reviews at PeepCode and also on my [portfolio][]. ### Intellectual Property Copyright Andrew Stewart, AirBlade Software Ltd. Released under the MIT licence. [st2gg]: https://github.com/jisaacks/GitGutter [pathogen]: https://github.com/tpope/vim-pathogen [qf]: https://github.com/tomtom/quickfixsigns_vim [fugitive]: https://github.com/tpope/vim-fugitive [siv1]: https://peepcode.com/products/smash-into-vim-i [siv2]: https://peepcode.com/products/smash-into-vim-ii [portfolio]: http://airbladesoftware.com/portfolio#vim