A sidebar buffer list for Neovim, written in Lua. Full rewrite of vim-buffergator targeting a clean Lua API with no VimScript workarounds.
- Left vertical split sidebar, auto-sized to the filename column
- Four sort modes:
filepath,bufnum,basename,mru— cycle withS - Four filename display modes (mirrors lualine
pathoption 0–4) - Per-file git status flags with filename colouring by dirty state
- Git branch shown in the header; multi-repo git status support
- Asynchronous git operations — sidebar opens instantly
close_on_select, configurable mouse open, full keymap customisation- lualine statusline/winbar suppression built-in
g?floating keymap reference
- Neovim ≥ 0.9 (0.10+ recommended for async
vim.system)
{
"themitchells/nvim-buffergator",
config = function()
require("nvim-buffergator").setup({
sort = "filepath",
path = 1, -- relative paths
close_on_select = true,
})
end,
}| Key | Action |
|---|---|
<Leader>b |
Toggle sidebar |
<Leader>B |
Close sidebar |
<CR> / o |
Open buffer in previous window |
s / <C-v> |
Open in vertical split |
i / <C-s> |
Open in horizontal split |
t / <C-t> |
Open in new tab |
d / D |
Delete / wipe buffer |
S |
Cycle sort mode |
R |
Refresh |
q / <Esc> |
Close sidebar |
g? |
Show keymap reference |
| Command | Description |
|---|---|
:BuffergatorToggle |
Toggle sidebar |
:BuffergatorOpen |
Open sidebar |
:BuffergatorClose |
Close sidebar |
:BuffergatorPath {0-4} |
Set filename display mode |
:BuffergatorSort {mode} |
Set sort mode (tab-completable) |
See :help nvim-buffergator-config for the full options reference.