Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. persistence.nvim

persistence.nvim

Apache-2.0Luav3.1.0

A simple Lua plugin for automated session management in Neovim.

GitHubGitHub
993 stars45 forks0 contributors

What is persistence.nvim?

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.

Target Audience

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.

Value Proposition

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.

Overview

💾 Simple session management for Neovim

Use Cases

Best For

  • Automatically saving Neovim sessions on editor exit
  • Restoring previous workspace layouts after restarting Neovim
  • Managing separate sessions for different git branches
  • Integrating session management with plugins like startify or dashboard
  • Preserving window splits, tabs, and open files across editor sessions
  • Creating custom keybindings for session loading and selection

Not Ideal For

  • Users who want automatic session restoration immediately on Neovim startup without any manual intervention
  • Developers needing advanced session features like session diffing, merging, or selective saving of specific buffers
  • Teams working in shared environments where session files need to be synchronized or version-controlled across machines
  • Projects with highly volatile workspace layouts that change frequently, making persistent session recovery less practical

Pros & Cons

Pros

Lightweight and Unobtrusive

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.

Automatic Save on Exit

Saves sessions automatically when Neovim closes, reducing data loss risk, and uses configurable directories like ~/.local/state/nvim/sessions for reliability.

Git Branch Integration

Optionally organizes sessions by git branch names, helping manage separate project contexts, which is a standout feature mentioned in the configuration.

Event Hooks for Extensibility

Emits events before and after loading/saving, allowing easy integration with other plugins like startify, as documented in the events section.

Cons

No Automatic Restoration

Requires manual keybinding or autocmd setup to load sessions, which can be inconvenient for users expecting instant workspace recovery after restarting Neovim.

Basic Session Management

Lacks advanced features such as session previews, selective saving, or conflict resolution, making it less suitable for complex workflow needs.

Git Dependency for Branch Features

Branch-based saving relies on git repositories, so it won't work effectively in non-git projects or with other version control systems.

Frequently Asked Questions

Quick Stats

Stars993
Forks45
Contributors0
Open Issues0
Last commit7 months ago
CreatedSince 2021

Tags

#lua-plugin#workflow-automation#neovim-plugin#neovim-configuration#editor-productivity#neovim#session-management

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 21 hours ago

Related Projects

auto-sessionauto-session

A small automated session manager for Neovim

Stars1,841
Forks60
Last commit8 days ago
neovim-session-managerneovim-session-manager

A simple wrapper around :mksession.

Stars616
Forks61
Last commit4 months ago
persisted.nvimpersisted.nvim

💾 Simple session management for Neovim with git branching, autoloading and Telescope support

Stars541
Forks33
Last commit2 months ago
possession.nvimpossession.nvim

Flexible session management for Neovim.

Stars398
Forks21
Last commit8 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub