Alternatives to fugitive.vim

A Vim plugin that runs Git commands and handles staging, blame and diffs inside the editor. The listings below can replace it for an important use case. Each note says what changes if you switch.

The original

Replacements

Listings that take over the same core job as fugitive.vim.

  • Neogit

    An interactive Git interface for Neovim, modelled on Emacs Magit.

    Neogit moves the in-editor Git workflow to Neovim with a Magit-style keyboard-driven interface for staging and committing instead of Vim command wrappers.

  • Magit

    A complete text-based Git interface that runs inside GNU Emacs.

    Magit provides a full, actionable Git interface inside GNU Emacs with mnemonic keys, which means switching editors from Vim to Emacs.

  • GitLens

    A Visual Studio Code extension that adds blame, commit history and commit graph views.

    GitLens brings inline blame, commit history and a commit graph to VS Code, with some features behind a paid Pro plan.

Also worth comparing

These listings name fugitive.vim as their own alternative, so the relationship runs both ways.

  • Diffview.nvim

    A Neovim plugin for cycling through diffs of all modified files for any Git revision.

    fugitive.vim also shows diffs and blame inside the editor and works in classic Vim, while adding staging and running any Git command through :Git.

  • GitUI

    A terminal interface for git that is fast on huge repositories and controlled entirely from the keyboard.

    fugitive.vim moves Git work into Vim, running any Git command with :Git and offering staging, blame and diff views, but it assumes you know Git commands.

  • lazygit

    A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do.

    fugitive.vim puts Git commands, staging, blame and diff views inside Vim, but it assumes you already know Git commands rather than hiding the syntax.

  • tig

    Browse Git history and stage changes in a terminal interface.

    fugitive.vim moves Git work into Vim, running any Git command via :Git with staging, blame and diff views, but it requires Vim familiarity.

Similar software

Related functionality, not a direct replacement.