junegunn / vim-plug
git clone https://github.com/junegunn/vim-plug.git
0.14.0 · 2y ago
🔥 on GitHub Trending today
:hibiscus: Minimalist Vim Plugin Manager
—
stars, 24h
—
stars, 7 days
+48
stars, 30 days · #6,069
36k
★ total
1.9k
forks · 86 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageVim Script
LicenseMIT
Created2013-09-10 (13y ago)
Last push5d ago
Watchers365
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #7 monthly in vim-script · +48 ★
GitHub topics
Links
- GitHub: github.com/junegunn/vim-plug
- Homepage: https://junegunn.github.io/vim-plug/
- Releases · Issues · Hacker News mentions
README excerpt
A minimalist Vim plugin manager. ## Pros. - Minimalist design - Just one file with no dependencies. Super easy to set up. - Concise, intuitive syntax that you can learn within minutes. No boilerplate code required. - No feature bloat - Extremely stable with flawless backward compatibility - Works perfectly with all versions of Vim since 2006 and all versions of Neovim ever released - [Super-fast][40/4] parallel installation/update - Creates shallow clones to minimize disk space usage and download time - On-demand loading for [faster startup time][startup-time] - Can review and rollback updates - Branch/tag/commit support - Post-update hooks - Support for externally managed plugins [40/4]: https://raw.githubusercontent.com/junegunn/i/master/vim-plug/40-in-4.gif [startup-time]: https://github.com/junegunn/vim-startuptime-benchmark#result ## Installation Download plug.vim and put it in the "autoload" directory. Click to see the instructions ### Vim #### Unix [code] You can automate the process by putting the command in your Vim configuration file as suggested [here][auto]. [auto]: https://github.com/junegunn/vim-plug/wiki/tips#automatic-installation #### Windows (PowerShell) [code] ### Neovim #### Unix, Linux [code] #### Linux (Flatpak) [code] #### Windows (PowerShell) [code] ## Usage Add a vim-plug section to your `~/.vimrc` (or `~/.config/nvim/init.vim` for Neovim) 1. Begin the section with `call plug#begin()` 1. List the plugins with `Plug` commands 1. End the section with `call plug#end()` For example, [code] Reload the file or restart Vim, then you can, * `:PlugInstall` to install the plugins * `:PlugUpdate` to install or update the plugins * `:PlugDiff` to review the changes from the last update * `:PlugClean` to remove plugins no longer in the list > [!NOTE] > That's basically all you need to know to get started. The rest of the > document is for advanced users who want to know more about the features and > options. > [!TIP] > `plug#end()` automatically executes `filetype plugin indent on` and `syntax > enable`. We believe this is a good default for most users, but if you don't > want this behavior, you can revert the settings after the call. > > [code] ### Getting Help - See [tutorial] page to learn more about the basics of vim-plug - See [tips] and [FAQ] pages for common problems and questions [tutorial]: https://github.com/junegunn/vim-plug/wiki/tutorial [tips]: https://github.com/junegunn/vim-plug/wiki/tips [FAQ]: https://github.com/junegunn/vim-plug/wiki/faq ## Examples The following examples demonstrate the additional features of vim-plug. ### Vim script example [code] ### Lua example for Neovim In Neovim, you can write your configuration in a Lua script file named `init.lua`. The following code is the Lua script equivalent to the Vim script example above. [code] ## Commands | Command | Description | | ----------------------------------- | ------------------------------------------------------------------ | | `Plu