# vim插件管理器的安装和配置-windows
### 前言
-----------------------------
- vim做一框功能强大的编辑器,扩展功能令人称奇,插件机制非常灵活
- 本篇推荐两款vim的插件管理器vundle和vim-plug
- vundle是一款老款的插件管理工具
- vim-plug相对较新,特点是支持异步加载,相比vundle而言
### vundle
-----------------------------
#### 简介
-----------------------------
- vundle是开源项目
- [项目地址](https://github.com/VundleVim/Vundle.vim)
#### 先决条件
-----------------------------
- git
- [下载地址](https://gitforwindows.org/)
- curl
- [下载地址](https://curl.haxx.se/download.html)
- 配置下环境变量
#### 安装
-----------------------------
- `git clone https://github.com/VundleVim/Vundle.vim.git %USERPROFILE%/.vim/bundle/Vundle.vim`
- %USERPROFILE% 当前用户路径
#### 配置
-----------------------------
- 在`_vimrc`配置文件中添加如下内容
```
set nocompatible " 去掉vim的扩展,和vi保持兼容
filetype off " 关闭文件类型检测
" set the runtime path to include Vundle and initialize
" 设置运行时路径包括Vundle和初始化
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required 让Vundle管理Vundle
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " 文件类型检测插件,开启
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help 帮助
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
```
### vim-plug
-----------------------------
#### 简介
-----------------------------
- vim-plug是开源项目
- [项目地址](https://github.com/junegunn/vim-plug)
#### 安装
-----------------------------
- 下载plug.vim放在`auload`目录下
#### 配置
-----------------------------
- 在`_vimrc`配置文件中添加如下内容
```
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
" github公告板,刷帖
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' }
" Initialize plugin system
call plug#end()
```
### vim脚本插件
-----------------------------
- [vim脚本仓库](http://vim-scripts.org/vim/scripts.html)
- [vim脚本仓库,比较好用](https://vimawesome.com/)