A tiny Vim plugin for everyday git operations, inspired by lazygit.
vim-git-box stays out of your way: one command opens a compact tabbed UI where you can stage files, write a commit message, push, browse history, and switch branches.
- GitBox UI — a split-pane tab with four live panes:
- Status — staged / unstaged / untracked files with colour coding
- Commits — recent commit log
- Branches — local branches
- Preview — diff, commit details, or commit message editor
- Stage / unstage individual files or everything at once
- Inline commit editor in the preview pane (
:wto commit,<Esc>to cancel) - Push with a single keystroke
- Checkout a commit or branch from inside the UI
- Contextual
?popup showing keybindings for the focused pane
Use any standard method for plugin Installation.
| Command | Description |
|---|---|
:GitBox |
Open the GitBox UI tab |
:GitBoxDifftool [commit] |
Diff current buffer against a commit |
:GitBoxDiff [commit] |
Show diff in a scratch buffer |
:GitBoxLsFiles |
List tracked files |
:GitBox also accepts an arbitrary git sub-command and displays the output in
a scratch window, e.g. :GitBox log --stat.
Hit ? on each pane to see the keybindings for that specific pane.
- Vim ≥ 9.0 (Vim9script)
- Git available in
$PATH
BSD-3.