Delete Neovim buffers without messing up your window layout, providing a better alternative to :bdelete.
bufdelete.nvim is a Neovim plugin that provides enhanced buffer deletion commands. It replaces Neovim's default `:bdelete` and `:bwipeout` with versions that delete buffers without closing windows or disrupting your layout, solving a common pain point in buffer management.
Neovim users who frequently work with multiple buffers and windows and want to maintain their window layouts while cleaning up buffers, particularly those who customize their workflow with Lua scripting.
Developers choose bufdelete.nvim because it seamlessly integrates into existing workflows, offering a straightforward fix to a disruptive default behavior without requiring complex configuration, and it provides both command-line and Lua API for flexibility.
Delete Neovim buffers without losing window layout
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces :bdelete and :bwipeout with commands that keep window layouts intact, solving the disruptive default behavior highlighted in the README.
Supports deleting buffers by number, name, regex pattern, or lists, including current buffer (0), as shown in the usage examples with various input types.
Provides bufdelete and bufwipeout Lua functions with configurable arguments, enabling programmatic integration in Neovim configurations, as detailed in the usage section.
Triggers BDeletePre and BDeletePost autocommands for each buffer, allowing users to add custom actions before and after deletion, per the user autocommands documentation.
Explicitly developed for the latest stable Neovim with no support for older versions, as warned in the requirements, which can hinder users on outdated distributions.
Lacks an interactive interface for selecting buffers; users must specify buffers by identifier, requiring additional plugins or manual input for casual deletion.
Requires setting up g:bufdelete_buf_filter or providing switchable_buffers in Lua calls to control post-deletion behavior, adding complexity for simple use cases.