A Neovim tabline plugin with re-orderable, auto-sizing, clickable tabs, icons, and a magic jump-to-buffer mode.
barbar.nvim is a tabline plugin for Neovim that provides enhanced buffer management through a tab-based interface. It solves the problem of managing multiple open buffers in Neovim by offering re-orderable, auto-sizing tabs with unique features like persistent jump-to-buffer letters and intelligent sorting options.
Neovim users who work with multiple buffers simultaneously and want a more visual and interactive way to manage them, particularly those coming from other editors with traditional tab interfaces.
Developers choose barbar.nvim for its unique jump-to-buffer mode with persistent letters, comprehensive tab management features, and seamless integration with the Neovim ecosystem including file icons and git status indicators.
The neovim tabline plugin.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Assigns constant letters to buffers for lifetime, enabling rapid keyboard navigation by typing a single character, as shown in the jump-to-buffer mode GIF where letters like 'r' for README.md remain stable.
Offers auto-sizing tabs that fill available space, multiple sorting options (by name, directory, etc.), and unique naming for duplicate filenames, optimizing organization based on workflow.
Automatically offsets the tabline when sidebars like NvimTree are open, preventing overlap and maintaining a clean interface, as demonstrated in the filetree-with-offset image.
Includes re-orderable tabs, pinned buffers, scrollable tabs, and integrations with git status and file icons via optional plugins, providing a full-featured tabline solution.
Conflicts with plugins like lightline require manual fixes (e.g., disabling lightline's tabline), and netrw support is limited due to inherent bugs, as admitted in the known issues section.
No default key mappings are provided, and setup involves extensive options in Lua or Vim script, demanding significant time and effort for customization beyond basic use.
Full visual enhancements like file icons and git status rely on optional plugins like nvim-web-devicons and gitsigns.nvim, adding extra installation and configuration steps.