finds.dev← search

// the find

junegunn/vim-plug

★ 35,698 · Vim Script · MIT · updated May 2026

:hibiscus: Minimalist Vim Plugin Manager

vim-plug is a single-file Vim/Neovim plugin manager that handles install, update, and lazy loading via a few simple vimscript calls. It's been the default choice for most Vim users for over a decade, and the codebase reflects that — stable, minimal, and well-understood. If you're not already on lazy.nvim, this is still a solid pick.

Parallel installs using threads make `:PlugUpdate` fast even with 50+ plugins. The snapshot feature (`PlugSnapshot`) gives you a reproducible script to restore your exact plugin state — useful if you pin plugins by commit. On-demand loading with `on` and `for` works reliably even if the README correctly tells you not to bother most of the time. Single-file distribution means setup is one `curl` command with no bootstrapping ceremony.

Neovim has largely moved on to lua-native managers like lazy.nvim, which offer more granular profiling, declarative config, and better integration with the Neovim plugin ecosystem — vim-plug has no equivalent. The parallel download implementation leans on Ruby or Python being available for timeouts to work properly; pure Vimscript fallback silently drops that behavior. There's no lockfile in the conventional sense — `PlugSnapshot` produces a vimscript file you have to source manually, which is clunky compared to a `lazy-lock.json`. Active Neovim plugin development (especially anything using `nvim-treesitter` or LSP) increasingly assumes lazy.nvim conventions.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →