VIM使用系列:使用VIM进行项目开发的准备工做

在Linux系统下进行开发的时间零零散散算起来也有将近一年半了,刚开始的时候用的最原始的VIM进行简单的代码编辑,那段时间让我熟练了VIM的命令、编辑模式切换,方向移动和命令模式下的经常使用命令,第一次认识到了VIM的强大。以后参与的项目开发,虽然说使用的是Linux系统,可是应用代码的主要编辑工做是在Source Insight下完成的,VIM用的也就少,慢慢地用起来有点手生。可是心里对于VIM的那种简洁、直接和高效依然依依不舍,经常会温习VIM的命令和技巧,一直在找机会掌握VIM进行完成的项目开发。直到这个项目,环境、机会(天时、地利、人和)俱全,我进入了状态~~shell

1、使用VIM进行项目开发以前的基础

  1. Linux系统中shell基本命令、经常使用命令的熟练使用
  2. Linux系统文件系统知识、概念的基本理解
  3. 可以使用VIM完成基本的文本编辑工做,熟悉三种模式和基本命令

如今的Linux发行版基本都已经装好了VIM,若是没有,那就须要本身进行安装,最好是VIM7.0以上版本,不过大多数发行版的源默认都是最新版本,除非是本身使用源码按照,就须要注意。数据库

2、VIM的配置文件及推荐插件

VIM的配置文件:.vimrc,通常都是在用户的home主目录下,该文件决定了VIM启动时的基本环境和可以使用命令、工具等,在VIM的使用中具备举足轻重的地位。网络上有不少大能的.vimrc文件提供参考、下载,大都很是地复杂,强大,并且与系统环境和其使用的插件高度关联,所以在下载他们的文件使用时,最好是确保环境一致,不然不少功能会使用不了,偶尔还可能会出一点莫名其妙的问题。在稍后的文章中我会贴出本人稍显粗糙的.vimrc。vim

VIM的强大在于它的高度可定制性,你彻底能够将它打形成属于你我的的编辑器或者说IDE,这是经过大量的插件和.vimrc配置文件协同实现的。在VIM的官网上你能找到各类插件,若是没找到你须要的,你还能够直接开发插件,而后提供给他人使用。本人还没到这个水平,在这推荐几款经常使用的插件给你们:windows

  1. buffexplorer插件:用来进行缓冲区的浏览和切换,多文件编辑不可缺乏的工具
  2. taglist插件:用来查看代码中的变量、宏、函数等单元,并进行定位、切换,开发必不可少
  3. lookupfile插件:用来在当前目录环境中查找文件、缓冲区等,并进行切换,五星级插件
  4. genutils插件: 使用lookupfile插件须要用到的通用函数插件
  5. NERD_Tree插件:用来在VIM中显示指定目录的目录树并进行切换,相似windows资源管理器中的目录树效果,对于在整个文件系统中查找文件很实用

这些插件在VIM官网上都能找到,下载最新版本就能够,而后就是插件的安装了。VIM在用户的主目录下须要一个运行时目录:.vim/,若是没有就手动建立,以后把下载的插件所有解压到.vim/目录里面,就完成了插件的安装。这个时候在.vim/目录下至少会有两个目录:doc/ 和 plugin/,doc目录存放各插件的帮助文档,plugin目录存放各插件的功能实现vim 脚本。可是对于lookupfile插件,正确安装的话,在.vim/下还应该有一个autoload/目录,里面存放有lookupfile 和genutils插件的autoload版本vim脚本,它们定义了plugin/目录中lookupfile和genutils脚本使用的一些函数。若是没有autoload目录,lookupfile插件将没法使用,会提示相似错误:“E117:Unknown Function lookupfile#OpenWindow(...)"。所以若是你安装完毕后,发现没有autoload目录,你须要手动建立该目录,而后将lookupfile插件和genutils插件包中的autoload版本vim脚本拷贝进去。网络

插件帮助文档的生成:使用vim时,必需要掌握的技能之一就是熟练使用vim的在线帮助文档,在里面能找到你所须要的一切,但你要知道你想知道的东西是什么。上述的各个插件都有完善的帮助文档,但须要将它们添加进vim的在线帮助系统中,以方便查找。这一步很简单:编辑器

  1. 切换到vim运行时目录而后打开vim:cd ~/.vim ; vim
  2. 在命令模式下输入以下命令: :helptags doc

敲回车执行命令以后就OK了,如今能够查看一下lookupfile的帮助: :help lookupfile.函数

配置好.vimrc文件后,到此为止VIM自身的环境就准备完毕了,接下来就是外部辅助开发环境。工具

3、VIM外部辅助开发环境:VIM+Ctags+Cscope

单独VIM一个工具老是不够的,UNIX中的哲学是每个工具专注地完成一件小事,多个工具的联合完成一件大事,从而用有限的工具实现无限的可能。VIM主要是把编辑这一件事实现到极致,经过插件提供一些额外的便利加强编辑,但对于代码的结构化、数据库化管理显然超出了VIM的功能范畴,须要更专注的工具来完成,这就是Ctags 和 Cscope工具。插件

ctags工具提取代码文件中的全部tag,包括全局变量、宏、函数、数据类型等,记录这些tag在文件中的位置和交叉引用,以提供在代码中进行这些tag之间的跳转,方便追本溯源。code

cscope工具也是提取代码文件中的全部tag,可是它记录的数据更详细,经过扫描tag在文件中的使用,创建一个数据库,从而提供查找定义、函数调用及被调用、文本、头文件等更复杂强大的搜索功能。

进行项目开发时,这两个工具几乎不可缺乏,VIM+Ctags+Cscope通常也是项目开发的总体环境(本人如今的开发环境),这个环境已经能够完成一个IDE的开发必备工做了。关于ctags和cscope工具的下载、安装就不在此详述了,安装好之后,能够经过如下的命令查看对应的帮助手册:

<!-- lang: shell -->
man  ctags
man  cscope

在以后的文章中我会写一个使用这两个工具的shell脚本,以进行项目开发过程当中的管理和更新。

相关文章
相关标签/搜索