# rhysd/git-messenger.vim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rhysd-git-messenger-vim).**

1,375 stars · 36 forks · Vim Script · MIT

## Links

- GitHub: https://github.com/rhysd/git-messenger.vim
- awesome-repositories: https://awesome-repositories.com/repository/rhysd-git-messenger-vim.md

## Topics

`git` `neovim` `popup-window` `vim` `vim-plugin`

## Description

git-messenger.vim is a plugin for the Vim and Neovim text editors that provides an integrated interface for viewing version control metadata. It functions as a blame popup tool, allowing users to inspect commit details and code evolution directly within their development environment.

The plugin maps the cursor position to specific version control history, enabling users to view commit messages, author information, and timestamps for the line of code currently under inspection. It supports navigation through historical commit sequences and provides tools for comparing file states and analyzing code changes through side-by-side diff views.

The extension operates by executing system-level commands as background tasks, ensuring that data retrieval does not interrupt the responsiveness of the editor. It renders this information in temporary, read-only buffers that appear as transient windows, facilitating a workflow where users can track the evolution of logic without leaving the editor.

## Tags

### Development Tools & Productivity

- [Blame Information Display](https://awesome-repositories.com/f/development-tools-productivity/git-blame-viewers/blame-information-display.md) — Displays commit metadata and diffs for the code under the cursor in a popup window.
- [Code Change Attribution](https://awesome-repositories.com/f/development-tools-productivity/code-change-attribution.md) — Identifies the commit and author responsible for specific lines of code to provide context on logic changes.
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins.md) — Provides a modular extension for Vim and Neovim that integrates version control visibility and navigation.
- [Commit History Integration](https://awesome-repositories.com/f/development-tools-productivity/commit-history-analysis/commit-history-integration.md) — Integrates with version control to retrieve and display commit messages, authors, and timestamps for code inspection.
- [Commit Range Diff Viewers](https://awesome-repositories.com/f/development-tools-productivity/commit-identifiers/commit-range-filtering/commit-range-diff-viewers.md) — Visualizes specific code changes for selected commits using unified or word-level diff views. ([source](https://github.com/rhysd/git-messenger.vim#readme))
- [Git History Navigation](https://awesome-repositories.com/f/development-tools-productivity/project-history-navigation/git-history-navigation.md) — Enables navigation through historical commit sequences directly from the editor to track the evolution of code.
- [Side-By-Side Diff Tools](https://awesome-repositories.com/f/development-tools-productivity/side-by-side-diff-tools.md) — Provides side-by-side comparison tools to evaluate file changes across different versions. ([source](https://github.com/rhysd/git-messenger.vim/blob/master/README.md))

### Software Engineering & Architecture

- [Cursor-Position Resolution](https://awesome-repositories.com/f/software-engineering-architecture/path-based-schema-resolution/cursor-position-resolution.md) — Maps the current cursor position to specific version control history to identify the commit responsible for the code under inspection.
- [Virtual Buffer](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/virtual-buffer.md) — Generates transient, read-only buffers to display version control metadata and diffs in a native-like editor window.
- [Unified Diff Generation](https://awesome-repositories.com/f/software-engineering-architecture/unified-diff-generation.md) — Captures and renders formatted text output from standard command-line diff tools directly within the editor environment.
- [Version Control Diff Visualization](https://awesome-repositories.com/f/software-engineering-architecture/version-control-diff-visualization.md) — Provides side-by-side diff views within the editor to compare file states across different commit versions.
