我们知道,windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、自动补全等等这些,让我们关注点主要在内容,非常舒服。在Linux下,vim作为除了emacs的第二大神器编辑器,原始情况下,vim是不具备这些IDE特性的,但通过大牛们写好的各种插件即可实现这种效果。
vim插件安装的教程在网上已经数不胜数,但是质量也参差不齐,很多都是在其它地方转载,而且没有注明使用环境,很多人安装时发现无法工作,最后搞得一团糟,今天这篇文章根据自己经验理清一下思路。
环境:
Linux ubuntu14.04
vim 7.4
准备工作:
下载准备:由于大多数vim插件都可以在github上找到,所以安装这些插件的方式有两种:一是直接通过git指令实现,这种方式需要本地机安装git工具,还需要已经注册github,前期这些比较麻烦;还有一种方式是直接去gihub网站下载。为主要采用后者。
安装准备:如果没有即将介绍的pathogen,我们对于已经下载好的插件文件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73/doc/目录下。这样做带来的后果是修改和卸载插件很麻烦,很难弄清楚哪个文件属于哪个插件。例如我们一般将插件文件安装在~/.vim目录下,如该已经下载好一个插件如显示目录树这个插件NERDTree,此时~/.vim/bundle/nerdtree下应该有如下几个目录和文件:
autoload
doc
lib
nerdtree_plugin
plugin
README.markdown
syntax
这几个目录是vim默认的插件目录,如果我们不是通过pathogen加载插件,就需要在~/.vim目录下创建对应的这几个目录,并将NERDTree对应的文件拷到相应的目录,这样每个目录下会放置多个插件的内容,比如~/.vim/doc下就会放置所有插件的帮组文档,而我们通过pathogen来管理,每个插件的所有内容都放在同一个目录中,比如这里的NERDTree插件的内容我们下载到了~/.vim/bundle/nerdtree下,直接删除这个目录即可删除插件,如果后续插件有更新,在该目录下通过git命令也可以很容易更新到最新版本。
故安装一个管理插件的插件,一般有pathogen和vundle,这里选择pathogen:
项目地址
https://github.com/tpope/vim-pathogen
安装
可以通过git安装,也可以直接下载插件文件,由于这个插件只有一个文件,我们选择后者,而该插件的说明文档上也是用的这种方法。
先解压unzip,然后取得vim-pathogen-master/aotoload/下的pathogen.vim复制到~/.vim/autoload目录下。
mkdir -p ~/.vim/autoload ~/.vim/bundle &&
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
如果没有报错则说明该插件安装完毕,接下来对其进行配置:
用vim打开~/.vimrc,输入如下三行:
execute pathogen#infect()
syntax on
filetype plugin indent on
保存退出,这个插件的安装配置就完成。
此时你的~/.vim目录结构应该是:
├── autoload
│ └── pathogen.vim
└── bundle
可见~/.vim目录下是有两个目录,其中autoload放的是pathogen插件,所谓的插件其实就是一个脚本,当vim启动时,它会自动加载~/.vim/autoload目录下的脚本,由于你~/.vimrc里配置了execute pathogen#infect(),所以它会去自动的执行脚本里这个函数。
下面是安装常用插件:
1,自动生成括号对
auto-pairs
项目地址 https://github.com/jiangmiao/auto-pairs
功能 自动匹配括号、引号等
安装 git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs 或者直接去项目地址下载
这样将auto-pairs在github上的项目文件下载到本机,然后解压,将解压文件复制到~/.vim/bundle/目录下
测试 随便打开一个文件,输入左括号'('看能否生成对应‘)’。
2,生成目录树
NERDTree
项目地址 https://github.com/scrooloose/nerdtree
功能 显示目录树
安装 git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle或者去该地址下载
这样将NERDTree 在github上的项目文件下载到本机,然后解压,将解压文件复制到~/.vim/bundle/目录下
测试 用vim打开一个文件,在命令行模式下输入:NERDTree,然后回车,窗口左侧就出现了vim工作目录的目录树
NERDTree 开启需输入 :NERDTree,关闭时按 q 即可。也可以加入快捷键开启:
nnoremap <silent> <F5> :NERDTree<CR>
这样按F5就会自动生成目录树。