// the find
tpope/vim-fugitive
fugitive.vim: A Git wrapper so awesome, it should be illegal
Fugitive is tpope's Git wrapper for Vim, wrapping arbitrary git commands and adding a status/summary buffer for staging, committing, and rebasing without leaving the editor. It's aimed at Vim/Neovim users who want a real Git workflow in-editor rather than shelling out to a terminal.
The :Git summary window is an actual interface, not just command output: you can stage, diff, commit, and rebase from one buffer with single-key maps. :Gread and :Gwrite operate on buffers instead of files, so changes go through Vim's own undo stack instead of triggering file-changed-on-disk warnings. :Gdiffsplit against any revision (HEAD~3:%, a blob, a tag) makes ad-hoc history review trivial. It's a single autoload file with no external dependencies, and still works on plain Vim 8, not just Neovim.
Pure Vim Script — there's no Lua/Neovim-native core, which is part of why neogit and lazygit have picked up users who want async operations and a modern UI. Async push/fetch was removed outright because it complicated credential prompts, so anything needing auth still blocks the editor unless you fall back to :Git! and CTRL-D. Cross-host file browsing (:GBrowse) needs a separate plugin per provider (rhubarb.vim for GitHub, etc.) instead of working out of the box. The status buffer's keybindings are genuinely useful but undiscoverable without reading :help fugitive first — there's no in-buffer hint beyond pressing g?.