awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
lewis6991 avatar

lewis6991/gitsigns.nvim

0
View on GitHub↗
6,575 stars·265 forks·Lua·mit·21 views

Gitsigns.nvim

Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job control API to avoid blocking the UI.

The plugin distinguishes itself by enabling hunk-level staging and resetting directly from the buffer without requiring a separate terminal or staging tool, including partial selections in visual mode. It offers hunk navigation between changes, previews of original hunk content in floating windows, and the ability to select hunks as text objects for editing operations. Gitsigns also populates Neovim's quickfix or location lists with structured hunk data for batch review, with optional integration with the Trouble plugin for displaying hunk lists.

Beyond core diff and staging capabilities, the plugin supports comparing the current buffer against any Git revision or index with optional intra-line word highlighting, and can open the current file as it existed at any specified commit in a new buffer. It integrates with fugitive revision buffers and provides buffer-local variables with counts of added, removed, and changed lines for status line display. The plugin is configured through Neovim's Lua API and is available via popular plugin managers.

Features

  • Git Sign Column Indicators - Displays Git add, modify, and delete indicators in the sign column for tracked files in Neovim.
  • Git Blame Viewers - Inspects commit authorship and date for each line through popups or virtual text annotations directly in the editor buffer.
  • Git Diff Viewers - Views line-level Git changes with sign column indicators and inline previews while working on tracked files.
  • Inline Hunk Previews - Opens original hunk content in a floating window for comparison against the current buffer.
  • Interactive Staging Interfaces - Stages or resets individual hunks of changes directly from the buffer, including partial selections in visual mode.
  • Buffer-Based Hunk Staging - Stages or reverts individual hunks of changes directly from the buffer without a separate staging tool.
  • Hunk Navigation and Manipulation - Provides hunk navigation between changes, jumping the cursor to the next or previous Git diff hunk.
  • Hunk-Based Change Management - Treats individual diff hunks as atomic units for staging, reverting, and navigation operations within the editor.
  • Async - Provides asynchronous Git command execution within the editor to prevent UI blocking during repository operations.
  • Buffer-Integrated Git Operations - Executes Git commands directly from the editor buffer, eliminating the need for a separate terminal or staging tool.
  • Editor Sign Column Markers - Displays visual indicators (add, modify, delete) in the sign column for each changed line in a tracked file.
  • Git Diff Sign Column Markers - Displays icons in the sign column to indicate lines that have been added, changed, or deleted in the buffer.
  • Sign-Column-Based Diff Rendering - Renders Git add, modify, and delete indicators in the sign column for each changed line in tracked files.
  • Buffer-Based Hunk Staging - Stages or reverts individual blocks of changes from the editor buffer without using a separate Git tool.
  • Revision Diff Display - Compares the current buffer against any Git revision or index with optional intra-line word highlighting.
  • Blame Annotation Navigation - Provides inline blame annotations showing commit authorship and date for each line via popups or virtual text.
  • Blame Information Display - Displays commit author and date for each line in popups, virtual text, or full buffer views.
  • Inline Blame Annotations - Displays commit author and date for each line as virtual text or in a popup alongside the code.
  • Line Blame Display - Reveals the commit, author, and date that last modified a specific line of code directly in the buffer.
  • Revision Comparison - Compares the current buffer against the Git index or any specified revision with optional word-level highlighting.
  • Hunk List Population - Populates the quickfix or location list with all hunks from the repository, attached buffers, or a specific buffer.
  • Hunk Quickfill Lists - Populates quickfix or location lists with all Git hunks for batch review and navigation.
  • Quickfix List Population - Populates Neovim's quickfix and location lists with structured hunk data for batch review and navigation.
  • Deployment Revisions - Opens the current file at a specified Git revision in a new buffer for inspection.
  • File Revision Viewers - Opens the current file as it existed at a specified Git revision in a new buffer.
  • Inline Revision Comparisons - Compares the current file against any Git revision or index with inline word-level diff highlighting.
  • Diff Region Text Objects - Defines custom text objects that map to contiguous diff hunk regions for visual selection and editing operations.
  • Base Diff Display - Displays the full diff of the current buffer against its staged or HEAD version.
  • Extmark-Based - Uses Neovim's extmark API to render virtual text and floating window annotations for blame and hunk previews.
  • Git Integration - Adds Git signs and hunk actions to the editor.

Star history

Star history chart for lewis6991/gitsigns.nvimStar history chart for lewis6991/gitsigns.nvim

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Gitsigns.nvim

Similar open-source projects, ranked by how many features they share with Gitsigns.nvim.
  • magit/magitmagit avatar

    magit/magit

    7,138View on GitHub↗

    Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag

    Emacs Lisp
    View on GitHub↗7,138
  • airblade/vim-gitgutterairblade avatar

    airblade/vim-gitgutter

    8,506View on GitHub↗

    This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign column to indicate added, modified, or removed lines relative to the Git index, allowing users to visualize diffs and compare buffer versions side-by-side. The plugin extends the editor's text objects to target specific blocks of modified lines, enabling the use of standard operators on these contiguous hunks. It also provides tools to stage or undo individual blocks of changes directly within the editor. Additional capabilities include navigation utilities for jumping between

    Vim Script
    View on GitHub↗8,506
  • sindrets/diffview.nvimsindrets avatar

    sindrets/diffview.nvim

    5,356View on GitHub↗

    diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits. The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases. Beyo

    Luadiffgitneovim
    View on GitHub↗5,356
  • nvim-mini/mini.nvimnvim-mini avatar

    nvim-mini/mini.nvim

    9,325View on GitHub↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Lualuamini-nvimneovim
    View on GitHub↗9,325
See all 30 alternatives to Gitsigns.nvim→

Frequently asked questions

What does lewis6991/gitsigns.nvim do?

Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job…

What are the main features of lewis6991/gitsigns.nvim?

The main features of lewis6991/gitsigns.nvim are: Git Sign Column Indicators, Git Blame Viewers, Git Diff Viewers, Inline Hunk Previews, Interactive Staging Interfaces, Buffer-Based Hunk Staging, Hunk Navigation and Manipulation, Hunk-Based Change Management.

What are some open-source alternatives to lewis6991/gitsigns.nvim?

Open-source alternatives to lewis6991/gitsigns.nvim include: magit/magit — Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control… airblade/vim-gitgutter — This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign… sindrets/diffview.nvim — diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing… nvim-mini/mini.nvim — mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation,… carlhuda/janus — Janus is a Vim distribution and curated plugin configuration that transforms the editor into a full-featured… dandavison/delta — Delta is a command-line pager that enhances the readability of terminal output by applying syntax highlighting and…