Interactive Git status window in Neovim
  • Lua 99.7%
  • Makefile 0.3%
Find a file
2025-12-18 05:40:17 +01:00
.github/workflows Update ci.yml 2025-04-12 09:03:26 +02:00
docs chore: make demo gif instead of mp4 2025-12-09 18:34:08 +01:00
lua/gitstatus fix: resolve multiple small issues introduced in the last commit 2025-11-14 09:15:13 +01:00
plugin fix: remove things from old implementation 2025-04-09 09:51:46 +02:00
test fix: resolve failing test and lint issue introduced in previous commit 2025-11-04 09:31:20 +01:00
.editorconfig chore: add .editorconfig 2025-04-10 19:02:53 +02:00
.gitignore test: see test coverage with luacov 2025-04-11 22:01:41 +02:00
.luacov test: see test coverage with luacov 2025-04-11 22:01:41 +02:00
.luarc.json feat: include help message in git commit window 2025-11-03 15:36:58 +01:00
.stylua.toml feat: add stylua formatter 2025-04-12 08:17:16 +02:00
LICENSE Create LICENSE 2025-11-04 13:02:33 +01:00
Makefile chore: put all linting in the same make target 2025-12-18 05:40:17 +01:00
README.md chore: change demo in readme 2025-12-09 18:39:54 +01:00

gitstatus.nvim

A Neovim plugin for managing Git from the editor. Shows an interactive status window with support for staging, unstaging, and committing files.

demo

Installation

Install with your favorite plugin manager. For example, using Lazy.nvim:

{
  'Mauritz8/gitstatus.nvim',
  -- optional dependencies
  dependencies = {
    'nvim-tree/nvim-web-devicons', -- displays filetype icons
    -- 'nvim-mini/mini.icons' -- use mini.icons instead if you prefer
    'rcarriga/nvim-notify', -- displays nice notifications
  },
}

Or with packer.nvim

use {
  'Mauritz8/gitstatus.nvim',
  -- optional dependencies
  requires = {
    'nvim-tree/nvim-web-devicons', -- displays filetype icons
    -- 'nvim-mini/mini.icons' -- use mini.icons instead if you prefer
    'rcarriga/nvim-notify', -- displays nice notifications
  },
}

Usage

Open the Git status window with :Gitstatus. For quick access, set up a mapping:

vim.keymap.set('n', '<leader>s', vim.cmd.Gitstatus)

While inside the Git status window:

  • s – Stage/unstage the file on the current line
  • a – Stage all changes
  • c – Open commit prompt
  • o - Open file on the current line
  • q – Close window