A Neovim plugin that manages sessions using built-in :mksession, similar to VS Code's folder-based workspace persistence.
Neovim Session Manager is a Lua plugin for Neovim that provides persistent session management using the editor's built-in `:mksession` functionality. It solves the problem of losing your editor state between sessions by automatically saving and restoring window layouts, open files, and working directories per project folder.
Neovim users who work across multiple projects and want persistent, folder-based session management similar to modern IDEs, without leaving the terminal editor workflow.
Developers choose this plugin because it builds directly on Neovim's native capabilities, avoiding bloat while providing reliable session persistence, Git-aware session loading, and seamless integration with popular Neovim pickers through a simple, configurable Lua API.
A simple wrapper around :mksession.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Builds directly on Neovim's `:mksession` command, avoiding bloat and ensuring seamless compatibility with core editor functionality without extra dependencies.
Automatically loads sessions based on Git repository roots, as noted in the README, making it ideal for version-controlled project contexts without manual path handling.
Supports configurable startup behaviors like LastSession, CurrentDir, and GitSession with fallback chains, allowing tailored session restoration based on user preferences.
Uses `vim.ui.select()` for session selection, enabling easy integration with popular pickers like Telescope via dressing.nvim, as highlighted in the README for a polished interface.
Relies on Neovim's native session command, which may not save all editor states such as terminal buffers or specific plugin layouts, reducing persistence depth for complex setups.
Autosaving on buffer write requires manual autocmd setup as an opt-in feature, adding complexity for users who want real-time session updates without custom Lua code.
Enhanced UI with pickers like Telescope necessitates additional plugins like dressing.nvim, increasing setup steps and potential compatibility issues beyond the core plugin.
neovim-session-manager is an open-source alternative to the following products: