提到IDE编程环境,大家首先想到的应该就是VS,eclipse之类。而对于vim,在大家的印象中就是一个黑框,操作复杂,难以掌握。
其实不然,vim同样可以配置成IDE环境。并且,vim解放了右手,对于工作效率会有很好的提升。
国际惯例,先上一张效果图:
上面的图中,使用了如下几个插件:pathogen,ctags,taglist,vimmanager,project,cvim等几个插件。
下面将以Linux内核代码为例,手把手教你这些插件从安装到配置再到使用的全部过程。
1. pathogen
谈到vim的插件,几乎所有人第一个推荐的都是ctags+taglist。这两个插件确实很重要,但是我个人觉得很有必要第一个安装pathogen。
Vim之所以受欢迎,是因为其设计原理一直秉承了“简单”这个原则。包括vim的插件也是如此,vim的插件安装方法无外乎一下载二安装。
插件都安装在~/.vim目录下。说到这里好像还没有pathogen什么事呢?!
当vim的插件安装多了之后,~/.vim目录就会变的越来越臃肿。想要删除或者更新,就变得十分繁琐。
这个时候pathogen就横空出世了,它让每个插件独占一个目录。想要删除某个插件,直接删除其所在目录即可。
才开始使用vim插件的时候,你可能感觉不到pathogen的重要性。但是等到你意识到的时候,往往已经比较晚了。
老祖宗说得好,工欲善其事必先利其器,所以我们的第一个插件就从pathogen开始。
1.1 下载
pathogen下载地址如下:
http://www.vim.org/scripts/script.php?script_id=2332
1.2 安装
1) 将下载好的pathogen.zip文件放到~/.vim目录下解压
2) 在~/.vim目录下新建文件夹bundle
3) 在~/.vimrc中追加
就这么简单的三步,pathogen就安装成功了。以后安装其他插件时,只需要在bundle文件夹下新建一个文件夹,然后将插件拷贝进去即可。
2. ctags
打好了基础,我们正式开始进入上层建筑的建设。大家之所以喜欢用IDE环境,我想大部分原因是因为能自由跳转吧。
既然是打造IDE环境,这么基础的功能自然不在话下。严格来说ctags不是一个vim插件,而是Linux下的标签命令。
是用来对指定目录的源代码中的类、函数、变量、宏等元素进行索引,并生成索引文件。
2.1 安装
对于Centos,使用yum的进行安装
- sudo apt-get install ctags
2.2 使用说明
1) 在代码目录下执行ctags -R命令。如果是多级目录,在最顶层的目录中执行。我们以linux-3.6的源码为例,
在其根目录下执行ctags命令。执行完之后,会在该目录下生成一个tags文件。
- cd /home/tuzhutuzhu/work/linux_kernel/linux-3.6
2) 使用vim打开/home/tuzhutuzhu/work/linux_kernel/linux-3.6目录下一个文件,然后执行
- :set tags=/home/tuzhutuzhu/work/linux_kernel/linux-3.6/tags
也可以将这句话写到.vimrc文件中。
3) 使用vim打开一个文件,然后将光标置于某个函数上。使用ctrl+],光标会跳转到函数的定义处。
使用ctrl+o,光标又会调回函数调用处。详细示例如下图所示:
跳转至定义处:
怎么样,vim在文件间的跳转上也不弱吧。
3. taglist
IDE环境的第二个特点就是,打开文件时,可以将文件中的变量,函数,宏等列出来。这样整个文件的内容就比较醒目。
对于vim来说,这个功能也是小case,使用taglist插件就能搞定。
3.1 下载
taglist下载地址如下:
http://www.vim.org/scripts/script.php?script_id=273
3.2 安装
本文第1部分介绍pathogen的时候,就说过了怎么通过pathogen来安装其他插件。
1) 在~/.vim/bundle目录下新建taglist目录,将taglist.zip拷贝,解压即可。
3.3 配置
在~/.vimrc文件中追加如下内容:
- filetype on
- let Tlist_Compact_Format=1
- let Tlist_Display_Prototype=1
- let Tlist_File_Fold_Auto_Close=1
- nnoremap :TlistToggle "使用快捷键F8来打开taglist列表,可以根据自己的喜好进行设置
使用快捷键F8打开的taglist效果图如下所示:
4. WinManager
对于linux初学者来说,都会觉得linux没有Windows系统那么醒目,使用起来用鼠标点击几下就可以了。
现在介绍一款文件浏览的插件,它的功能有点类似于windows的文件管理。
4.1. 下载
WinManager官方下载地址如下:
http://www.vim.org/scripts/script.php?script_id=95
4.2. 安装
安装这里就不在赘述了。
4.3. 配置
在~/.vimrc文件中追加如下内容:
- let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
- let g:winManagerWidth = 35
- nmap :WMToggle "使用快捷键F7打开WinManager和taglist,可根据喜好自行设置
- autocmd VimEnter * cd ~
使用快捷键F7打开的WinManager和taglist效果图如下所示:
5. cvim
对于我这种经常使用C/C++的人来说,cvim绝对是个编程利器,其功能相当强大。可以自动生成文件头(懒人福利),生成代码,快速编译和运行等等。
5.1 下载
cvim官方下载地址如下:
http://www.vim.org/scripts/script.php?script_id=213
5.2 安装
此步骤略
5.3 配置
在~/.vimrc文件正添加如下内容:
- filetype plugin indent on
cvim的功能相当强大,下面说明几个比较常用的。
1) 自动添加文件头注释:
使用vim新建一个文件:vim hello.c
文件头注释内容可以修改,编辑如下文件即可:~/.vim/bundle/cvim/c-support/templates/Templates
2) 添加函数快捷键\if,main函数的快捷键为\im
3) 保存并编译文件快捷键\rc,执行快捷键\rr。该功能强烈推荐,十分快捷。
尾声:
本文介绍了几个常用的vim插件,通过这些插件的使用可以大幅提高工作的效率。vim的插件有千千万,关键在于找到适合自己的。
这篇文章的意义只是抛砖引玉,欢迎大家多提供一些好用的插件。