最近开始使用vim来写代码(虽然有点迟),发vim的功能果然强大,但它强大的前提却必须经过长期不断的学习!或许这是Linux平台下的所有工具共同的特点吧。
Vim的强大,基本上来自大于它的丰富的插件,而除插件之外,对vim影响最大的应该就是tags了吧。
tag是什么?一个位置。它记录了关于一个标识符在哪里被定义的信息,比如C或C++程序中的一个函数定义。这种tag聚集在一起被放入一个tags文件。这个文件可以让Vim能够从任何位置起跳达到tag所指示的位置-标识符被定义的位置。
而ctags是生成tags的工具,有非常多的选项,可以识别很多的语言,像C,C++,phyon,等等。
先来总结一下最迫切要用的:
1.为系统头文件目录生成tags
ctags -R -f ~/.vim/sys_tags -I __THROW --extra=+f --languages=c --langmap=c:+.h --c-kinds=+px --fields=+aiKSz /usr/include /usr/local/include |
2.为嵌入式系统的目标板上的系统头文件目录生成tags
ctags -R -f ~/.vim/dm365_sys_tags -I __THROW --extra=+f --languages=c --langmap=c:+.h --c-kinds=+px --fields=+aiKSz /opt/nfs/usr/include /opt/nfs/usr/local/include |
3.为TI的Davinci SDK(DVSDK) 头文件目录生成tags
ctags -R -f ~/.vim/dvsdk_tags --extra=+f --languages=c --langmap=c:+.h --c-kinds=+px --fields=+aiKSz /opt/dvsdk_2_10_01_18/*/packages |
4.为当前项目 生成tags
ctags -R --extra=+f --languages=c --langmap=c:+.h --c-kinds=+px --fields=+aiKSz |
来源: http://blog.chinaunix.net/uid-23144326-id-2537188.html