vim 插件管理器:vim-plug

jopen 9年前發布 | 21K 次閱讀 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:

  1. Begin the section withplug#begin()
  2. List the plugins withPlugcommands
  3. 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

vim 插件管理器:vim-plug

項目主頁:http://www.baiduhome.net/lib/view/home/1439428313833

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