`
kenby
  • 浏览: 724998 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vim + taglist + ctags + cscope 简单使用

阅读更多

ctags用来跳转, taglist用来列出当前文件的变量, 函数, 宏. cscope用来查找符号



一 使用ctags


1 在源码目录创建tag文件

cd /home/kenby/project/nginx-1.0.0/src

ctags -R


2 打开一个文件

gvim core/ngx_string.c

把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。


二 使用taglist


打开一个文件, 并输入命令, vim就会产生一栏显示该文件的变量和函数

gvim core/ngx_string.c

:Tlist



三 使用cscope


1 生成 cscope.files

cd /

find /home/kenby/project/nginx-1.0.0/src -name '*.c' -o -name "*.h" > /home/kenby/project/nginx-1.0.0/src/cscope.files


2 生成 cscope.out

cd /home/kenby/project/nginx-1.0.0/src

cscope -b -q -k

这样在源码目录下产生一些 .out 索引文件


3 打开一个文件

gvim core/ngx_string.c


4 添加索引

:cs add cscope.out


5 输入下列命令, 试用cscope强大的查找功能

:cs f c ngx_log_error      查找此函数被哪些函数调用过

:cs f d ngx_log_error      查找此函数调用了哪些函数

:cs f g ngx_log_error      查找变量名或函数名的定义处

:cs f s  ngx_log_error     查找该符号出现的地方

:cs f t  variable              查找给该变量赋值的地方



四 vimrc配置文件

使用cscope, 每次都输入那么长的命令, 实在很伤手, 在vimrc配置一些快捷键:


if has("cscope")

  set csprg=/usr/bin/cscope

  set csto=1

  set cst

  set nocsverb

  " add any database in current directory

  if filereadable("cscope.out")

      cs add cscope.out

  endif

  set csverb

endif


nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>

nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>

nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>

nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>

nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>

nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>

nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>

nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>

 

分享到:
评论

相关推荐

    vim + ctags + cscope + nerdtree + taglist + vundle

    "vim + ctags + cscope + nerdtree + taglist + vundle"的组合,是Vim高效开发环境的经典搭建方案,尤其适合进行大型代码库的管理和调试。 首先,`Vim` 是一个高度可配置的文本编辑器,它支持命令行模式,提供丰富...

    用vim+ctags+taglist+cscope打造文本模式下的Kscope

    但是,使用 Kscope 需要图形化界面,然而,在 Linux 系统下,我们可以使用 Vim 编辑器结合 ctags、taglist 和 cscope 工具来打造一个文本模式下的 Kscope。 ctags简介 ctags 是一种能为多种语言源程序的函数、变量...

    ctags,cscope,taglist.vim,cscope_maps.vim

    为了使用它们,你需要先安装Vim,然后分别安装并配置ctags、cscope和taglist.vim,最后将cscope_maps.vim集成到你的Vim配置中,设置相应的快捷键。这样,你就拥有了一个高效的代码编辑和浏览环境。

    vim+ctags+cscope 配置文件

    自己的vim配置文件, 内含: 1. _vimrc 2. plugin: TagList, SuperTab, OmniCppComplete, Code_Complete 3. tags for glibc, C++(stl,stream), Unix98 system, glib-2.0 4. ftplugin for Pro*C/C++

    vim plug taglist cscope

    "vim plug taglist cscope" 涉及到的是在 Vim 中安装和使用两个非常有用的插件:TagList 和 Cscope。这两个插件极大地增强了代码浏览和导航的功能,尤其对于大型项目或不熟悉的代码库来说,它们是必不可少的工具。 ...

    vim+ctags+cscope配置文件V2.0.6

    自己的vim配置文件 1. .vimrc 2. plugins: TagList, SuperTab, OmniCppComplete, Code_Complete DoxygenToolkit, proc 3. c89, GNU libc, C++(stl,stream), IEEE Std 1003.1-2008, glib-2.0 的tags文件 4. ftplugin ...

    vim+ctags+cscope配置文件V1.0.0

    自己的vim配置文件 1. .vimrc 2. plugins: TagList, SuperTab, OmniCppComplete, Code_Complete DoxygenToolkit, proc 3. glibc, C++(stl,stream), Unix98 system, glib-2.0 的tags文件 4. ftplugin for Pro*C/C++ 5...

    windows cscop+ctags vim各种插件

    windows 环境的ctags和cscope还有DoxygenToolkit.vim minibufexpl.vim Tabular.vim taglist.vim visualmark.vim 插件工具

    ctags58和cscope可执行程序windows版

    在这里,我们讨论的是针对Windows操作系统的`ctags58`和`cscope`的可执行程序,以及相关的`vim`插件`cscope_maps.vim`。 首先,`ctags58`是Exuberant Ctags的58版本,这是一个开源的、跨平台的标签生成器。它能够为...

    vim使用手册

    在用VIM + cscope + ctags + taglist 读C代码时的常用操作

    vim配置文件及插件

    安装完vim+ctags+cscope以后将这个压缩包解压到家目录下,即可,带有常用插件taglist等,以及vimrc中一些很实用的配置

    Ubuntu VIM cscope ctag taglist nerd_tree winmanager omnicppcomplete插件配置文件

    在Vim中,ctags生成的标签文件允许用户通过按`Ctrl+]`快速跳转到函数或变量的定义处,反之,通过`Ctrl+T`可以返回原来的位置。这对于多文件的大型项目尤其有用,使得代码间的导航变得简单快捷。 `taglist`是Vim的一...

    vim configure

    VIM configure files, containing ctags, cscope configuration, and taglist and NERDtree plugins.

    源代码阅读工具

    本篇将详细介绍Linux下的代码阅读工具Vim,以及与其配套使用的ctags、cscope和taglist插件。 **Vim:全能文本编辑器** Vim(Vi Improved)是一款功能丰富的文本编辑器,广泛用于Linux系统。它以其高度可定制性和...

    ubuntu下的vim插件

    在您提供的信息中,我们关注到几个重要的vim插件,包括cscope、ctags、c-support、taglist以及minibufexpl。 1. **cscope**:这是一个源代码浏览工具,特别适用于C/C++项目。它提供了多种查找功能,如定义函数、...

    VIM打包-V1.0

    Include: NERDTree, Taglist, CTags, CScope, Source Explorer等及简单的安装使用说明。 长期使用后可比Source Insight. " syntax highlighting hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=...

    vim开发助手_windows版本

    在Vim中安装和配置Taglist以及Ctags,通常需要修改.vimrc配置文件,添加相关设置,例如启用Taglist插件、指定ctags的路径以及自定义快捷键。安装完成后,用户只需打开一个代码文件,Taglist就会自动加载并显示标签...

    打造linux下的Source Insight

    为了在Linux系统上获得类似的代码导航体验,我们可以利用vim编辑器配合ctags、taglist和Cscope等工具来构建一个高效的工作环境。下面我们将详细介绍如何在Ubuntu 12.04上搭建这样一个系统。 首先,我们需要安装基础...

    vim配置,包含自己写的说明,很全,很好用

    c.vim, gtk-vim-syntax.tar 是用于 vim 中用于 gtk ...另外建议安装 ctags 与 cscope, 通过它们我们可以在 vim 中进行函数跳转或反向索引等操作, 便于阅读代码. 这些工具建议通过 debian/ubuntu 的 apt 机制自己安装

Global site tag (gtag.js) - Google Analytics