A simple Lua plugin for automated session management in Neovim.
Persistence is a Neovim plugin that automatically saves and manages editing sessions, allowing developers to restore their workspace exactly as they left it. It solves the problem of losing window layouts, open files, and editor state when restarting Neovim by providing simple session management capabilities.
Neovim users who frequently restart their editor and want to preserve their workspace state, particularly developers working on multiple projects who need to maintain separate sessions.
Developers choose Persistence for its simplicity, lightweight design, and non-intrusive approach that gives them full control over session restoration while automating the saving process.
💾 Simple session management for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The plugin focuses solely on session saving with minimal overhead, avoiding automatic restoration to stay out of the user's way, as emphasized in its philosophy.
Saves sessions automatically when Neovim closes, reducing data loss risk, and uses configurable directories like ~/.local/state/nvim/sessions for reliability.
Optionally organizes sessions by git branch names, helping manage separate project contexts, which is a standout feature mentioned in the configuration.
Emits events before and after loading/saving, allowing easy integration with other plugins like startify, as documented in the events section.
Requires manual keybinding or autocmd setup to load sessions, which can be inconvenient for users expecting instant workspace recovery after restarting Neovim.
Lacks advanced features such as session previews, selective saving, or conflict resolution, making it less suitable for complex workflow needs.
Branch-based saving relies on git repositories, so it won't work effectively in non-git projects or with other version control systems.