vim 插件管理器:vim-plug

jopen 6年前

vim-plug 是一个小型的 vim 插件管理器。


  • 更易于安装: 只有一个文件. No boilerplate code required.
  • 易于使用: Concise, intuitive syntax
  • Super-fast parallel installation/update (with any of+python,+python3,+ruby, or Neovim)
  • Creates shallow clones to minimize disk space usage and download time
  • On-demand loading for faster startup time
  • Can review and rollback updates
  • Branch/tag support
  • Post-update hooks
  • 支持外部管理插件


Download plug.vim and put it in ~/.vim/autoload

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \


Add a vim-plug section to your .vimrc:

  1. Begin the section withplug#begin()
  2. List the plugins withPlugcommands
  3. plug#end()to add the plugins to&runtimepath


call plug#begin('~/.vim/plugged')    " Make sure you use single quotes  Plug 'junegunn/seoul256.vim'  Plug 'junegunn/vim-easy-align'    " Group dependencies, vim-snippets depends on ultisnips  Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'    " On-demand loading  Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }  Plug 'tpope/vim-fireplace', { 'for': 'clojure' }    " Using git URL  Plug ''    " Plugin options  Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }    " Plugin outside ~/.vim/plugged with post-update hook  Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': 'yes \| ./install' }    " Unmanaged plugin (manually installed and updated)  Plug '~/my-prototype-plugin'    " Add plugins to &runtimepath  call plug#end()

Reload .vimrc and:PlugInstallto install plugins.


Command Description
PlugInstall [name ...] [#threads] Install plugins
PlugUpdate [name ...] [#threads] Install or update plugins
PlugClean[!] Remove unused directories (bang version will clean without prompt)
PlugUpgrade Upgrade vim-plug itself
PlugStatus Check the status of plugins
PlugDiff See the updated changes from the previous PlugUpdate
PlugSnapshot [output path] Generate script for restoring the current snapshot of the plugins


Option Description
branch/tag Branch or tag of the repository to use
rtp Subdirectory that contains Vim plugin
dir Custom directory for the plugin
do Post-update hook (string or funcref)
on On-demand loading: Commands or<Plug>-mappings
for On-demand loading: File types
frozen Do not update unless explicitly specified

Global options

Flag Default Description
g:plug_threads 16 Default number of threads to use
g:plug_timeout 60 Time limit of each task in seconds (Ruby & Python)
g:plug_retries 2 Number of retries in case of timeout (Ruby & Python)
g:plug_shallow 1 Use shallow clone
g:plug_window vertical topleft new Command to open plug window
g:plug_url_format printfformat to build repo URL


  • D-PlugDiff
  • S-PlugStatus
  • R- Retry failed update or installation tasks
  • U- Update plugins in the selected range
  • q- Close the window
  • :PlugStatus
    • L- Load plugin
  • :PlugDiff
    • X- Revert the update

vim 插件管理器:vim-plug