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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 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·6 vues

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.

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI
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.
  • Historique des stars

    Graphique de l'historique des stars pour lewis6991/gitsigns.nvimGraphique de l'historique des stars pour lewis6991/gitsigns.nvim

    Questions fréquentes

    Que fait lewis6991/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…

    Quelles sont les fonctionnalités principales de lewis6991/gitsigns.nvim ?

    Les fonctionnalités principales de lewis6991/gitsigns.nvim sont : 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.

    Quelles sont les alternatives open-source à lewis6991/gitsigns.nvim ?

    Les alternatives open-source à lewis6991/gitsigns.nvim incluent : 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…

    Alternatives open source à Gitsigns.nvim

    Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Gitsigns.nvim.
    • magit/magitAvatar de magit

      magit/magit

      7,138Voir sur 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
      Voir sur GitHub↗7,138
    • airblade/vim-gitgutterAvatar de airblade

      airblade/vim-gitgutter

      8,506Voir sur 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
      Voir sur GitHub↗8,506
    • sindrets/diffview.nvimAvatar de sindrets

      sindrets/diffview.nvim

      5,356Voir sur 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
      Voir sur GitHub↗5,356
    • nvim-mini/mini.nvimAvatar de nvim-mini

      nvim-mini/mini.nvim

      9,325Voir sur 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
      Voir sur GitHub↗9,325
    Voir les 30 alternatives à Gitsigns.nvim→