升级vim
移除vim
yum remove vi vim
更新vim源
wget -P /etc/yum.repos.d/ https://copr.fedorainfracloud.org/coprs/lbiaggi/vim80-ligatures/repo/epel-7/lbiaggi-vim80-ligatures-epel-7.repo
安装新版本vim
yum install vi vim
安装vim插件管理管理工具vundle
vundle是一个基于git仓库的vim插件管理工具, vim启动时,配置文件读取顺序可简单理解为:先读.vimrc,再载入所有vim配置文件路径的plugin文件夹下所有.vim文件。没有vundle之前,vim插件的安装都是手工增删plugin文件夹中的.vim文件,有了vundle之后,可以通过vundle实现一键安装和卸载。
安装方法:
下载vundle到当前用户目录:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
在~/.vimrc中添加如下配置
set nocompatible " 去除对vi的兼容 filetype off " 关闭文件类型检测 set rtp+=~/.vim/bundle/Vundle.vim " 设置vundle路径 call vundle#begin() " 插件管理函数开始 Plugin 'VundleVim/Vundle.vim' " 在此添加需要安装的插件列表,格式 Plugin 'vim-scripts下git仓库名称' 或者 Plugin 'git用户/git仓库' 或者 Plugin '协议://git url' Plugin 'https://github.com/scrooloose/nerdtree.git' Plugin 'https://github.com/Valloric/YouCompleteMe.git' call vundle#end() filetype plugin indent on
使用方法:
打开vim,键入vim命令 :BundleInstall,此时vundle会列出当前已安装和未安装的插件列表,并从上到下依次自动安装,当对应插件前的符号变成+时,代表插件安装完毕。如下图所示:

NERDTree插件配置
"NERDTree config
map <F4> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType")&&b:NERDTreeType == "primary") | q | endif
let NERDTreeWinSize=30
let NERDChristmasTree=1
map <F6> :YcmCompleter GoTo<CR>
taglist插件配置
"Settings for tagslist
let Tlist_Use_Right_Window = 1 "让taglist窗口出现在Vim的右边
let Tlist_File_Fold_Auto_Close = 1 "当同时显示多个文件中的tag时,设置为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。
let Tlist_Show_One_File = 1 "只显示一个文件中的tag,默认为显示多个
let Tlist_Sort_Type ='name' "Tag的排序规则,以名字排序。默认是以在文件中出现的顺序排序
let Tlist_GainFocus_On_ToggleOpen = 1 "Taglist窗口打开时,立刻切换为有焦点状态
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_WinWidth = 32 "设置窗体宽度为32,可以根据自己喜好设置
let Tlist_Ctags_Cmd ='/usr/bin/ctags' "这里比较重要了,设置ctags的位置,不是指向MacOS自带的那个,而是我们用homebrew安装的那个
map <F5> :TlistToggle<CR>