A frecency-based buffer switcher for Neovim that sorts files by frequency and recency for fast navigation.
arena.nvim is a Neovim plugin that provides a smart buffer switcher window. It uses a frecency algorithm to prioritize files based on how often and how recently they've been used, aiming to make buffer switching as fast as thought by reducing reliance on fuzzy finders and manual mark management.
Neovim users, particularly developers working on projects with many files who frequently switch between buffers and want a more intelligent, low-overhead navigation method.
Developers choose arena.nvim for its behavioral data-driven sorting that surfaces the most relevant buffers automatically, plus its dedicated window with built-in buffer management actions like pinning and deletion, reducing context switching compared to traditional fuzzy finders.
A smart (frecency-based) buffer switcher
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a frecency algorithm that combines frequency and recency to rank buffers, automatically surfacing the most relevant files based on usage patterns without manual intervention.
Provides built-in actions like deleting buffers, pinning important files, and opening in splits or tabs directly from the window, reducing the need for separate commands or plugins.
Offers configurable window size, borders, and optional devicons (with nvim-web-devicons), allowing users to tailor the appearance to their workflow as shown in the README examples.
Supports per-project filtering to limit buffers to the current project, helping keep the workspace organized in multi-project environments, as highlighted in the configuration options.
Requires Lua setup and tuning of algorithm factors (e.g., recency_factor, frequency_factor), which can be complex for users new to Neovim configuration, and the README lacks presets for common use cases.
Features like devicons depend on nvim-web-devicons being installed, adding an extra dependency for full functionality, which the README acknowledges but doesn't bundle or simplify.
Unlike fuzzy finders, it doesn't offer search-by-name or content-based filtering, relying solely on usage patterns, which might not suit navigation needs requiring precise file lookup.
As a standalone plugin, it might not integrate seamlessly with larger ecosystems like telescope.nvim without custom keybinds or setups, and the API documentation is brief, referencing source code for details.