freeze.nvim
August 8, 2026 ยท View on GitHub
๐ฆ Screenshot code with freeze from Neovim.
โจ Features
- ๐ธ Screenshot code โ Select lines and generate beautiful PNG images
- ๐ Clipboard support โ Optionally copy screenshots directly to the system clipboard
- ๐ glaze.nvim integration โ Automatic binary management via glaze.nvim
- ๐จ Syntax highlighting โ Automatically detects filetype for proper highlighting
- โก Zero config โ Works out of the box
๐ฆ Installation
lazy.nvim
{
"taigrr/freeze.nvim",
dependencies = { "taigrr/glaze.nvim" },
config = true,
}
packer.nvim
use {
"taigrr/freeze.nvim",
requires = { "taigrr/glaze.nvim" },
config = function()
require("freeze").setup()
end,
}
โก Requirements
- Neovim >= 0.9.0 (0.10+ recommended)
- freeze binary (auto-installed via glaze.nvim)
- glaze.nvim for binary management
๐ Usage
- Select lines in visual mode
- Run
:'<,'>Freeze - A
freeze.pngwill be created in your current working directory
Or freeze the entire buffer:
:Freeze
โ๏ธ Configuration
require("freeze").setup({
-- Output directory (default: current working directory)
-- Missing directories are created automatically
output = nil,
-- Output filename (default: "freeze.png")
filename = "freeze.png",
-- Freeze theme (default: nil, uses freeze default)
theme = nil,
-- Copy image to system clipboard after freeze (default: false)
-- Supports: xclip, wl-copy (Wayland), xsel (fallback), macOS, WSL
clipboard = false,
-- Additional arguments passed to freeze CLI
extra_args = {},
})
Example: Custom output, theme, and clipboard
require("freeze").setup({
output = vim.fn.expand("~/screenshots"),
filename = "code.png",
theme = "dracula",
clipboard = true,
extra_args = { "--padding", "20" },
})
๐ Commands
| Command | Description |
|---|---|
:[range]Freeze | Freeze selected lines (or entire buffer) to PNG |
๐ API
local freeze = require("freeze")
-- Setup (called automatically with config = true)
freeze.setup()
-- Freeze specific lines programmatically
freeze.freeze(start_line, end_line)
๐ฉบ Health Check
:checkhealth freeze
Verifies Neovim version, glaze.nvim availability, and freeze binary installation.
๐ค Related Projects
- freeze โ The underlying tool
- glaze.nvim โ Go binary manager for Neovim