A Neovim plugin for creating and managing temporary playground files without worrying about filenames or locations.
scratch.nvim is a Neovim plugin that simplifies the creation and management of temporary playground files. It solves the problem of cluttering workspaces with untitled or forgotten test files by providing a dedicated system for scratch files that are easy to create, organize, and retrieve later. Developers can quickly spin up files for code experiments, configuration tests, or notes without worrying about naming or location.
Neovim users who frequently create temporary files for testing code snippets, experimenting with configurations, or drafting content and want a streamlined way to manage these files.
Developers choose scratch.nvim for its seamless integration with Neovim, customizable templates, and flexible file pickers, offering a lightweight yet powerful alternative to manual file management or generic note-taking plugins.
Create temporary playground files effortlessly. Find them later without worrying about filenames or locations.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With commands like `Scratch`, users can create temporary files instantly without naming or location hassles, as highlighted in the README's command table and demo.
Files are automatically saved to a configurable directory and can be organized by filetype or custom subdirectories using options like `subdir`, improving structure.
Supports popular Neovim pickers like fzf-lua, Telescope, and snacks.nvim for fuzzy searching, though some require additional dependencies and setup.
Allows defining filetype-specific templates with pre-filled content and cursor placement, such as for Go files with `content` and `cursor` settings in `filetype_details`.
Settings can be modified at runtime using Lua commands or by updating `vim.g.scratch_config`, eliminating the need to restart Neovim, as described in the README.
For optimal fuzzy search, it relies on plugins like fzf-lua or Telescope, which add setup complexity and may require tools like ripgrep (rg) for features like datetime ordering.
Users must manually configure key mappings, as noted in the commands section, which can be a barrier for quick adoption and requires extra setup effort.
Scratch files are stored locally with no built-in syncing or collaboration features, making it unsuitable for teams needing shared access or cloud backup.
The setup involves detailed Lua configuration with multiple options and dependencies, which might overwhelm users unfamiliar with Neovim's plugin ecosystem.