*vim-plug* _ _ ~ __ _(_)_ __ ___ _ __ | |_ _ __ _ ~ \ \ / / | '_ ` _ \ _____| '_ \| | | | |/ _` |~ \ V /| | | | | | |_____| |_) | | |_| | (_| |~ \_/ |_|_| |_| |_| | .__/|_|\__,_|\__, |~ |_| |___/ ~ A minimalist Vim plugin manager. CONTENTS *vim-plug-contents* 1. Getting Help ....................................... |vim-plug-help| 2. Usage .............................................. |vim-plug-usage| 3. Commands ........................................... |vim-plug-commands| 4. `Plug` options ....................................... |vim-plug-plug-options| 5. Global options ..................................... |vim-plug-global-options| 6. Keybindings ........................................ |vim-plug-keybindings| 7. Example ............................................ |vim-plug-example| =============================================================================== 1. Getting Help *vim-plug-help* - See the requirements page for debugging information & tested configurations. https://github.com/junegunn/vim-plug/wiki/requirements - See the FAQ for common problems and questions. https://github.com/junegunn/vim-plug/wiki/faq - Create an issue. https://github.com/junegunn/vim-plug/issues/new =============================================================================== 2. Usage *vim-plug-usage* Add a vim-plug section to your `~/.vimrc` (or `~/.config/nvim/init.vim` for Neovim): 1. Begin the section with `call plug#begin()` 2. List the plugins with `Plug` commands 3. `call plug#end()` to update `&runtimepath` and initialize plugin system - Automatically executes `filetype plugin indent on` and `syntax enable`. You can revert the settings after the call. e.g. `filetype indent off`, `syntax off`, etc. =============================================================================== 3. Commands *vim-plug-commands* *:PlugInstall* *:PlugUpdate* *:PlugClean* *:PlugUpgrade* *:PlugStatus* *:PlugDiff* *:PlugSnapshot* | 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` | Examine changes from the previous | | | update and the pending changes | | `PlugSnapshot[!] [output path]` | Generate script for restoring the | | | current snapshot of the plugins | =============================================================================== 4. `Plug` options *vim-plug-plug-options* *branch* *dir* *commit* *rtp* *dir* *as* *do* *on* *for* *frozen* | Option | Description | | ----------------- | ---------------------------------------------- | | `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use | | `rtp` | Subdirectory that contains Vim plugin | | `dir` | Custom directory for the plugin | | `as` | Use different name for the plugin | | `do` | Post-update hook (string or funcref) | | `on` | On-demand loading: Commands or ``-mappings | | `for` | On-demand loading: File types | | `frozen` | Do not update unless explicitly specified | =============================================================================== 5. Global options *vim-plug-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_pwindow` | `above 12new` | Command to open preview window in `PlugDiff` | | `g:plug_url_format` | `https://git::@github.com/%s.git` | `printf` format to build repo URL (Only applies to the subsequent `Plug` commands) | =============================================================================== 6. Keybindings *vim-plug-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 =============================================================================== 7. Example *vim-plug-example* A small [sensible](https://github.com/tpope/vim-sensible) Vim configuration > call plug#begin() Plug 'tpope/vim-sensible' call plug#end() ------------------------------------------------------------------------------- A larger full featured example > " Specify a directory for plugins " - For Neovim: ~/.local/share/nvim/plugged " - Avoid using standard Vim directory names like 'plugin' call plug#begin('~/.vim/plugged') " Make sure you use single quotes " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align Plug 'junegunn/vim-easy-align' " Any valid git URL is allowed Plug 'https://github.com/junegunn/vim-github-dashboard.git' " Multiple Plug commands can be written in a single line using | separators Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' " On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'tpope/vim-fireplace', { 'for': 'clojure' } " Using a non-master branch Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) Plug 'fatih/vim-go', { 'tag': '*' } " Plugin options Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } " Plugin outside ~/.vim/plugged with post-update hook Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " Unmanaged plugin (manually installed and updated) Plug '~/my-prototype-plugin' " Initialize plugin system call plug#end() Reload .vimrc and `:PlugInstall` to install plugins. vim:tw=78:ts=4:ft=help:norl: