A Neovim plugin that automatically saves changed buffers with customizable triggers and conditions.
auto-save.nvim is a Neovim plugin written in Lua that automatically saves your changed buffers based on configurable events and conditions. It solves the problem of losing unsaved changes by automating the save process, integrating seamlessly into your editing workflow.
Neovim users who want to automate file saving to prevent data loss, especially developers and writers who frequently edit code or text and prefer a hands-off approach to manual saves.
Developers choose this plugin for its high customizability, maintained status as a fork, and lightweight integration with Neovim's ecosystem, offering reliable auto-saving without disrupting their editing flow.
🧶 Automatically save your changes in 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.
Allows configuration of immediate and deferred saves based on Vim events like BufLeave and InsertLeave, enabling tailored save behavior for different editing scenarios.
Supports custom Lua functions to exclude specific filetypes (e.g., gitcommit) or buffers, preventing unwanted saves on special buffers or temporary files.
Implements a debounce delay (default 1000ms) to reduce excessive disk writes during rapid editing, balancing data safety with performance.
Provides autocommand events like AutoSaveWritePre and AutoSaveWritePost for custom pre/post-save actions, facilitating integration with formatting or linting plugins.
As a maintained fork of the original auto-save.nvim, it receives updates and bug fixes, ensuring reliability in modern Neovim environments.
The README admits caveats when combining with auto-formatting plugins like conform.nvim, requiring careful setup (e.g., using undojoin) to avoid issues with undo history.
Debug logging is file-based and off by default, lacking built-in visual indicators or notifications for save status, which can make troubleshooting opaque.
Advanced features like conditional logic require writing Lua functions, adding complexity for users unfamiliar with Neovim's API or Lua scripting.