junegunn /vim-plug

:hibiscus: Minimalist Vim Plugin Manager

★ 35,779⑂ 1,929👁 359⑃ 273● 1,046▤ 9◈ 0
Vim ScriptMITCreated 2013-09-10junegunn.github.io/vim-plug/
TA的项目
35,779
stars
+1
1,929
forks
359
watchers
273
prs
1,046
issues
9
releases
0
discussions

README

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-benchmarkresult

 Installation

Download plug.vim
and put it in the "autoload" directory.


Click to see the instructions

 Vim

 Unix

sh
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim


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/tipsautomatic-installation

 Windows (PowerShell)

powershell
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
    ni $HOME/vimfiles/autoload/plug.vim -Force


 Neovim

 Unix, Linux

sh
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'


 Linux (Flatpak)

sh
curl -fLo ~/.var/app/io.neovim.nvim/data/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim


 Windows (PowerShell)

powershell
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
    ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force




 Usage

Add a vim-plug section to your ~/.vimrc (or ~/.config/nvim/init.vim for Neovim)

1. Begin the section with call plugbegin()
1. List the plugins with Plug commands
1. End the section with call plugend()

For example,

vim
call plugbegin()

" List your plugins here
Plug 'tpope/vim-sensible'

call plugend()


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]
 plugend() 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 reve

Top issues

Latest release

0.15.0 0.15.0 2026-11-07
- Added g:plug_disable_credential_helper (default: 1). Set it to 0 to keep the git credential helper enabled (1047)
- Allowed command modifiers for on-demand-loading commands, e.g. :tab Git diff (1110) (@subnut)
- Used the job API for system() calls in GUI Vim to reduce overhead (1325) (@jgb)
- Made on-demand loading faster
    - Used isdirectory() to check plugin directories (1340) (@mattn)
    - Skipped BufRead for an unnamed empty buffer (1341) (@mattn)
- Stopped loading Python and Ruby libraries when they are not needed (1344) (@Coacher)
- Fixed PlugStatus reporting divergence when 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON