vim 插件管理器:vim-plug
vim-plug 是一個小型的 vim 插件管理器。
Pros.
- 更易于安裝: 只有一個文件. 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 \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim用法
Add a vim-plug section to your .vimrc:
- Begin the section withplug#begin()
- List the plugins withPlugcommands
- plug#end()to add the plugins to&runtimepath
Example
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 'https://github.com/junegunn/vim-github-dashboard.git'
" 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.
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 |
| PlugSnapshot [output path] | Generate script for restoring the current snapshot of the plugins |
Plugoptions
| 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 | https://git::@github.com/%s.git | printfformat to build repo URL |
Keybindings
- 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

本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!