ctags+taglist+cscope的安装以及常用快捷键

ctags+taglist+cscope的安装以及常用快捷键


1、cscope

1) 安装

可以在http://cscope.sourceforge.net/下载源码包,然后解压,编译安装。

./configure

make

make install


2)帮助

  • vim Help文件(中文): http://vimcdoc.sourceforge.net/vim_user_manual_603.0.pdf 强烈建议VIM的初学者,主要是害怕读英文Help文件的朋友阅读!翻译的非常好,在此感谢译者ZhaoRuFei。
  • vimdoc项目的主页在:http://vimcdoc.sourceforge.net/ ,有时间可以去看看
  • vim主页:http://www.vim.org/, 这个网站不用介绍了吧。
  • vim资源收集:(点击此处http://www3.linuxforum.net/), linux forum上的一个网友收集的vim资源,相当不错。
  • cscope主页:http://cscope.sourceforge.net, cscope的主页,程序员的利器。
  • cscope与vim入门:The Vim/Cscope tutorial
  • 使用cscope管理大软件项目:Using Cscope on large projects (example: the Linux kernel)
  • vim实用技术:一、二、三, IBM developerWork上的文章,初学者可以一看。
  • vim group:http://groups.google.com/group/Vim-cn/ , google上的vim group,不过人气还不是很旺。

3)脚本

#!/bin/sh  
find  . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files  
cscope  -bkq -i cscope.files  
ctags  -R // 使taglist只显示当前文件tag,其它文件的tag都被折叠起来。   

-R : 在生成索引文件时,搜索子目录树中的代码
-b : 只生成索引文件,不进入cscope的界面
-k : 在生成索引文件时,不搜索 / usr / include目录
-q : 生成cscope . in . out和cscope . po . out文件,加快cscope的索引速度

将这个脚本保存到/usr/local/bin/cscopes.sh,以后就可以直接是使用这个命令生成索引拉!
taglist 另外再装上 从cscope,就 可以连着 ctags+taglist+ Cscope也一起用.


2、ctags 常用快捷键


{ 转到上一个空行
} 转到下一个空行
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方

ctrl+] 转到函数定义的地方

ctrl+t 回退到函数调用的地方


3、taglist常用快捷键


              跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样  
      
    o             在一个新打开的窗口中显示光标下tag  
      
           显示光标下tag的原型定义  
      
    u             更新taglist窗口中的tag  
      
    s             更改排序方式,在按名字排序和按出现顺序排序间切换  
      
    x             taglist窗口放大和缩小,方便查看较长的tag  
      
    +             打开一个折叠,同zoctags常用快捷键ctags常用快捷键  
      
    -             将tag折叠起来,同zc  
      
    *             打开所有的折叠,同zR  
      
    =             将所有tag折叠起来,同zM  
      
    [[            跳到前一个文件  
      
    ]]            跳到后一个文件  
      
    q             关闭taglist窗口  

4、cscope常用快捷键


    先按 ctrl+/ 然后  
    c: 查找该函数被调用的位置  
    d: 查找该函数调用了哪些函数  
    e: 查找指定的正规表达式 f: 查找指定的文件  
    g: 查找指定标识符的定义位置  
    i: 查找该文件在哪些地方被包含  
    s: 查找指定标识符的使用位置  
    t: 查找指定的文本字符串  

需要上面的快捷键的话,还需要修改/etc/vimrc

    "if has("cscope") && filereadable("/usr/bin/cscope")  
    " set csprg=/usr/bin/cscope  
    " set csto=0  
    " set cst  
    " set nocsverb  
    " " add any database in current directory  
    " if filereadable("cscope.out")  
    " cs add cscope.out  
    " " else add database pointed to by environment  
    " elseif $CSCOPE_DB != ""  
    " cs add $CSCOPE_DB  
    " endif  
    " set csverb  
    "endif  
    nmap s :cs find s =expand("")  
    nmap g :cs find g =expand("")  
    nmap c :cs find c =expand("")  
    nmap t :cs find t =expand("")  
    nmap e :cs find e =expand("")  
    nmap f :cs find f =expand("")  
    nmap i :cs find i ^=expand("")$  
    nmap d :cs find d =expand("")  
    let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的  
    let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim  
    let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口   


你可能感兴趣的:(Linux)