Display buffer vertically. It aims to be as easy to use as a stack of books.
pile.nvim is a Neovim plugin that provides a vertical buffer sidebar, similar to how books are stacked in a pile. It offers an intuitive and simple way to browse, rename, and manage open buffers. Inspired by the user-friendly experience of oil.nvim, but designed for vertical organization.
- Vertical sidebar listing all open buffers.
- Easily switch between buffers with keyboard shortcuts.
- Editable buffer names within the sidebar for quick renaming.(not implemented yet)
- Automatically updates file names when a buffer is renamed.(not implemented yet)
- LSP integration: Automatically updates import paths when a file is renamed.(not implemented yet)
- Neovim 0.5 or later
- nui.nvim - Required for UI components
- LSP configuration for full renaming functionality (optional)
Using Lazy.nvim
{
'shabaraba/pile.nvim',
dependencies = {
'MunifTanjim/nui.nvim', -- Required dependency
},
opts = {}
}
Using Packer.nvim
use {
'shabaraba/pile.nvim',
requires = { 'MunifTanjim/nui.nvim' }, -- Required dependency
config = function()
require('pile').setup()
end
}
Using vim-plug
Plug 'MunifTanjim/nui.nvim' " Required dependency
Plug 'shabaraba/pile.nvim'
- Open Buffers: The sidebar shows all open buffers, with the current buffer highlighted.
Open the sidebar: :PileToggle or set a keybind in your init.lua:
vim.api.nvim_set_keymap('n', 'ps', ':PileToggle', { noremap = true, silent = true })
Navigate between buffers: :PileGoToNextBuffer :PileGoToPrevBuffer
Rename a buffer: Edit the buffer name directly in the sidebar and save the changes to rename the file.
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License.