一个高效的开发环境包括一个版本控制工具和一个具有代码定义跳转和代码自动提示补全功能的编辑器。不可否认,在Windows下开发是幸福的,CVS/VS/VA构成一个功能完备强大的开发工具组合,更重要的是安装方便。而在Linux下就要自己动手了。下面三个组件分别提供了版本控制,代码定义跳转,代码自动提示补全功能。
1, git版本控制工具
git作为版本控制工具,有取代svn之势。掌握它不是简单的用两三个步骤就能表述清楚的,大家还是直接参考资料: http://progit.org/book/ 吧。
2,安装Ctags
Cscope和OmniCppComplete都依赖Ctags生成的数据库。安装过程跟大多数编译安装过程一样,configure,make,make install。
3, 安装Cscope
参考资料:http://cscope.sourceforge.net/cscope_vim_tutorial.html
对于7以后的vim,Cscope是默认提供的特性,只需将cscope_maps.vim拷贝到vim的plugin目录(提示:vim的plugin目录有多个,如~/.vim,/usr/share/vim/vimfiles等)。我个人拷贝到/usr/share/vim/vimfiles/plugin目录。
另外需要修改cscope_maps.vim文件尾部关于key map timeouts设置,否则可能快捷键无效。我个人将此行
"set nottimeout
前面的"删除,即取消注释。
4, 安装OmniCppComplete
1)将OmniCppComplete.zip解压缩到vim某个plugin目录。
2)打开vim的plugin功能。在~/.vimrc中添加下面的行:
set nocp
filetype plugin on
3)配置生成ctags数据库的快捷键。在~/.vimrc中添加下面行:
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
此行可以使开发者在开发过程中通过Ctrl-F12组合键重新生成ctags数据库。
各种详细配置参照OmniCppComplete安装包中的omnicppcomplete.txt
要注意的是,对vim配置文件的任何修改,需要退出旧的Terminal并打开新的Terminal才能生效。