简约的Vim 插件管理器:vim-plug
jopen
10年前
vim-plug 是一个小型的 vim 插件管理器。
Pros.
- Easier to setup: Single file. No boilerplate code required.
- Easier to use: Concise, intuitive syntax
- Super-fast parallel installation/update (requires+ruby)
- On-demand loading to achievefast startup time
- Post-update hooks
- Can choose a specific branch or tag for each plugin
- Support for externally managed plugins
Usage
Download plug.vim and put it in ~/.vim/autoload
mkdir -p ~/.vim/autoload curl -fLo ~/.vim/autoload/plug.vim \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Edit your .vimrc
call plug#begin('~/.vim/plugged') " Make sure you use single quotes Plug 'junegunn/seoul256.vim' Plug 'junegunn/vim-easy-align' " On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'tpope/vim-fireplace', { 'for': 'clojure' } " Using git URL Plug 'https://github.com/junegunn/vim-github-dashboard.git' " Plugin options Plug 'nsf/gocode', { 'tag': 'go.weekly.2012-03-13', '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' call plug#end()Reload .vimrc and
:PlugInstall
to install plugins.Commands
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 |
Plug
options
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 install/update plugin unless explicitly given as the argument |
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 |
g:plug_retries | 2 | Number of retries in case of timeout |
g:plug_window | vertical topleft new | Command to open plug window |
g:plug_url_format | https://git::@github.com/%s.git | printf format to build repo URL |
Keybindings
D
-PlugDiff
S
-PlugStatus
R
- Retry failed update or installation tasksq
- Close the window:PlugStatus
L
- Load plugin
:PlugDiff
X
- Revert the update </ul> </li> </ul>