博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM-CTAGS-CSCOPE(持续学习中)
阅读量:2341 次
发布时间:2019-05-10

本文共 2376 字,大约阅读时间需要 7 分钟。

 

        首先搞定源http://blog.jsdan.com/2490(源 )--10.04的源

        由于Ubuntu9.10没有默认安装vim,按照ubuntuwiki上的一篇老旧的文章:  http://wiki.ubuntu.org.cn/%E8%80%81%E6%97%A7%E6%96%87%E7%AB%A0/Gvim%E7%9A%84%E5%AE%89%E8%A3%85%E5%8F%8A%E9%85%8D%E7%BD%AE

               sudo apt-get install vim-gtk vim-doc cscope

               sudo apt-get exuberant-ctags

        现在,系统上就有ctags和cscope的存在了

        或者直接编译VIM。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        开始学习vim和ctags与cscope的使用:

参考文献:

http://blog.163.com/lucien_cc/blog/static/130290562200992885211378/?fromdm&fromSearch&isFromSearchEngine=yes

http://bieahoff.blog.163.com/blog/static/9075777200962910526721/

http://cscope.sourceforge.net/cscope_vim_tutorial.html

vim中文用户手册

易水博客http://easwy.com/blog/archives/exuberant-ctags-chinese-manual/

等等......

        一、在源文件根目录下建立ctags和cscope树

        在目录下建立cscope索引文件:

        为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件:

#!/bin/sh

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.cpp"> cscope.files

cscope -bkq -i cscope.files

ctags -R

        在任何想要在vim内部使用cscope和ctags的命令的话,都要加载cscope的库:cscope.out

                                             cs add cscope.out <目标文件夹>

        二、cscope基本操作

        http://blog.chinaunix.net/u1/38994/showart.php?id=483483

        目前还是不会用在vim下的cscope只能直接在终端上打印cscope然后对想要查找的东西进行查找咯~~~~

        -----------------------------------------------------------------方法一--------------------------------------------------------------------------

        经过两天的资料查找,在vim下的cscope的操作还是很麻烦:

        首先,加载cscope.out

        然后,使用 cs  f  <order>  <str>命令进行查找。

<order>:

0或则S:查找本符号

1或则G:查找本定义

2或则D:查找本函数调用的函数

3或则C:查找调用本函数的函数

4或则T:查找本字符串

6或则E:查找本EGREP模式

7或则F:查找本文件

8或则I:查找包含本文件的文件

        -----------------------------------------------------------------方法二--------------------------------------------------------------------------

        直接在SHELL上cd到源代码目录下,使用cscope命令进入cscope界面

                Ctrl+D退出cscope

cscope提供了如下九种查询方式:

                      Find this C symbol:                                       #查找指定的C符号
                      Find this global definition:                              #查找指定的全局定义
                      Find functions called by this function:             #查找指定函数调用的函数
                      Find functions calling this function:                 #查找调用指定函数的函数
                      Find this text string:                                      #查找字符串
                      Change this text string:                                  #修改指定字符串
                      Find this egrep pattern:                                  #查找匹配字符
                      Find this file:                                                 #查找指定文件
                      Find files #including this file:                          #指定引用头文件进行查找               

        三、ctags的操作

        加载cscope的库:cscope.out

        vim打开了一个*.c文件。如, 你 在 看 程 序 时 看 到 某 处 调 用 了 一 个叫foo bar()的程序, 你可以将光标停在foo bar单词上(停在该单词任何一个字符都可, 译者注), 然后按下CTRL-]键, 它就会跳转到该函数的定义处。也可以查找头文件。

        Ctrl+T返回刚才的文件,就是返回 跳转到标签前的前一次位置。       

转载地址:http://hafvb.baihongyu.com/

你可能感兴趣的文章
C/C++ 多线程学习心得
查看>>
C/C++四种退出线程的方法
查看>>
多线程编程要点
查看>>
c++CreateEvent函数在多线程中使用及实例
查看>>
c++多线程同步(1)
查看>>
Windows 下 C/C++ 多线程编程入门参考范例
查看>>
浅析stack around the variable was corrupted
查看>>
RGB与YUV转换
查看>>
YUV转RGB的相关函数
查看>>
ES(Elasticsearch)排序与相关性
查看>>
ES(Elasticsearch)分片内部原理
查看>>
Java IO(概述)
查看>>
Java IO(文件、管道、字节和字符数组)
查看>>
Java IO(流、Reader And Writer、异常处理)
查看>>
Java IO(RandomAccessFile、File、PipedInputStream、PipedOutputStream)
查看>>
Java NIO(二) Channel
查看>>
Java NIO(三) Buffer
查看>>
Java NIO(五) Selector
查看>>
Java NIO(六)SocketChannel、ServerSocketChannel
查看>>
6 Netty 架构剖析
查看>>