📈 GH Trending Explorer 🎲 Surprise me

← all repos

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

vim

Links

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