免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6481 | 回复: 6
打印 上一主题 下一主题

我突然发现只要这样一来就能让Vim自己加载tags和cscope。 [复制链接]

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-18 09:35 |只看该作者 |倒序浏览
我突然发现只要这样一来就能让Vim自己加载tags和cscope。
  1. " ctags

  2. set tags=tags

  3. " cscope

  4. cs add . .
复制代码
更有意思的是:你可以在project的top目录打开Vim,然后设定下述内容,
  1. " don't auto change current directory

  2. set noacd

  3. map <f5> <esc>:wall<cr><esc>:!make;<cr>

  4. map <f6> <esc>:wall<cr><esc>:cs reset<cr>
复制代码
当然,project的top目录有一个Makefile。
  1. ################################################################################
  2. #
  3. # Run ctags and cscope for the current project.
  4. #
  5. ################################################################################

  6. all:
  7.         rm -rf cscope.in.out cscope.out cscope.po.out;
  8.         rm -rf tags;
  9.         cscope -Rbq;
  10.         find . -name \*.c -o -name \*.h | xargs ctags;

  11. ################################################################################
复制代码

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
2 [报告]
发表于 2011-07-18 09:36 |只看该作者
我用FreeBSD,用的是FreeBSD带的那个ctags,不是GNU提供的,所以生成tags的命令稍微有点奇特。

论坛徽章:
0
3 [报告]
发表于 2011-07-18 12:37 |只看该作者
set tags=tags;  !注意分号 外加autoload_cscope.vim插件

https://github.com/adam8157/dotfiles/blob/master/.vimrc

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
4 [报告]
发表于 2011-07-18 13:32 |只看该作者
回复 3# adam8157

1. 不需要";"吧?

2. 你那个链接是一个vimrc,没有看到plugin。

论坛徽章:
0
5 [报告]
发表于 2011-07-18 13:36 |只看该作者
回复  adam8157

1. 不需要";"吧?

2. 你那个链接是一个vimrc,没有看到plugin。
fender0107401 发表于 2011-07-18 13:32



    那个";"会自动向上层目录去找, 那个plugin也是会自动向上层去找cscope的东西, 所以我都是在项目根目录建立tags和cscope的东西.

那个插件可以去vim官网找, 也可以在我那个网址的上层目录去找. vimrc只是说下我是怎么配置ctags和cscope的 呵呵

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
6 [报告]
发表于 2011-07-18 16:08 |只看该作者
那个";"会自动向上层目录去找, 那个plugin也是会自动向上层去找cscope的东西, 所以我都是在项目根 ...
adam8157 发表于 2011-07-18 13:36


我都是在项目的顶层目录打开gVim的,然后“set noacd”,这样每次执行make命令的时候都是在项目的顶层目录,

所以就可以很方便的更新cscope和ctags的数据库了,但是不方便的是必须在项目的顶层打开。

你的方法应该是可以在项目的任何位置打开文件,但是不知道能不能很方便的更新cscope和ctags的数据库。

我曾经写过一个脚本,然后让这个脚本每隔一段时间就自动更新,后来觉得这样一来做有点太过分了。

论坛徽章:
0
7 [报告]
发表于 2011-07-18 17:09 |只看该作者
我都是在项目的顶层目录打开gVim的,然后“set noacd”,这样每次执行make命令的时候都是在项目的顶层目 ...
fender0107401 发表于 2011-07-18 16:08



    嗯, 可以在项目的任何位置打开文件, 至于更新么, 都是手动开终端进去更行的, 有个alias同时更新ctags和cscope
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP