airblade/vim-gitgutter

A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 58 minutes ago
Added to GitGenius on September 7th, 2026
Created on February 20th, 2013
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 299
Total Stargazers: 8,512 (+0)
Total Subscribers: 65 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 733 days
Stale 30+ days: 1
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

vim-gitgutter is a Vim plugin that shows git diff markers in the sign column and allows staging, previewing, and undoing individual hunks.

The plugin solves the problem of tracking which lines in your buffer have been added, modified, or removed by displaying visual indicators in the sign column. It runs diffs asynchronously where possible and keeps signs up to date without ever saving your buffer. Beyond basic diff visualization, it enables you to stage or undo individual hunks, preview changes with intra-line highlighting, stage partial hunks, and jump quickly between changed sections. It also provides a hunk text object for use in mappings and commands.

You should choose this tool if you work exclusively with git and want real-time diff feedback integrated directly into your editor. It suits any project where you benefit from seeing which lines differ from the index or a specific commit. The plugin is fully customizable, allowing you to adjust signs, highlights, and mappings to your preference. If you use other version control systems, the README recommends vim-signify as an alternative. The tool integrates with vim-airline for easy status line integration and works with fish shell in addition to standard shells. It requires that your terminal reports focus events, though this can be disabled if needed.

Development activity shows consistent maintenance with regular updates addressing edge cases and compatibility. The project handles complex scenarios including file renames, git's assume-unchanged bit, CRLF line ending conversion, and clean/smudge filters. Support extends back to Vim 7.4 and includes modern features like optional line number highlighting for recent Vim and Neovim versions. The maintainer actively preserves compatibility with other plugins' signs and integrates with established tools in the Vim ecosystem.