我看到一文章说输入:tag 行就可以跳转到该行,可是我的却提示说cstag找不到tag,到底tag功能怎么用啊?不过我真的觉得vim很顺手,虽然现在我是通过标签功能进行定位的。还有一个问题是tab补全的问题,比如我有三个标签狠近视,define defined demon ,我输入d+TAB键会出来三个选项,默认是demon,我如何是它选择define呢?谢谢。
BTW:有没有办法控制行的长度?可不能输入就一行阿,比如像word那样自动换行。
gvim怎么才能设置tag呢?
-
- 帖子: 57
- 注册时间: 2006-05-03 17:29
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
-
- 帖子: 57
- 注册时间: 2006-05-03 17:29
- leal
- 帖子: 1119
- 注册时间: 2005-08-29 14:49
- 来自: 杭州
- 联系:
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
当文件不多的时候 ctags -R 这样用是没有问题的。leal 写了::cd %:p:h #切换至当前文件所在的目录
:!ctags -R . 或 *.[hc] #生成当前源代码tags文件 (ctags)
cscope 请自行查看 cscope 或 vim 的帮助
good luck
如果文件比较多,比如说几千个甚至超过一万,这样通常都会有问题,一般是没有找全,而且ctags没有任何错误提示。(直接结果就是缺少很多tag没有定义)
所以实际上文件多的时候得每次列少量的文件,然后追加到tags数据库。这样就得用 Makefile 来帮助建立才行。比方说我手头一个项目中有48个目录,每个建立一个rule,然后用 ctags -a 追加,还用 find 去找文件。管道传输。
由于ctags管理多个tags文件的机制并不是非常令人满意。所以有的时候cscope是更好的选择。
当然,对于源文件少于一千个的小型项目,ctags基本还是足够的。