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高效开发环境的经典搭建方案,尤其适合进行大型代码库的管理和调试。 首先,`Vim` 是一个高度可配置的文本编辑器,它支持命令行模式,提供丰富...
但是,使用 Kscope 需要图形化界面,然而,在 Linux 系统下,我们可以使用 Vim 编辑器结合 ctags、taglist 和 cscope 工具来打造一个文本模式下的 Kscope。 ctags简介 ctags 是一种能为多种语言源程序的函数、变量...
为了使用它们,你需要先安装Vim,然后分别安装并配置ctags、cscope和taglist.vim,最后将cscope_maps.vim集成到你的Vim配置中,设置相应的快捷键。这样,你就拥有了一个高效的代码编辑和浏览环境。
自己的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 中安装和使用两个非常有用的插件:TagList 和 Cscope。这两个插件极大地增强了代码浏览和导航的功能,尤其对于大型项目或不熟悉的代码库来说,它们是必不可少的工具。 ...
自己的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配置文件 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 环境的ctags和cscope还有DoxygenToolkit.vim minibufexpl.vim Tabular.vim taglist.vim visualmark.vim 插件工具
在这里,我们讨论的是针对Windows操作系统的`ctags58`和`cscope`的可执行程序,以及相关的`vim`插件`cscope_maps.vim`。 首先,`ctags58`是Exuberant Ctags的58版本,这是一个开源的、跨平台的标签生成器。它能够为...
在用VIM + cscope + ctags + taglist 读C代码时的常用操作
安装完vim+ctags+cscope以后将这个压缩包解压到家目录下,即可,带有常用插件taglist等,以及vimrc中一些很实用的配置
在Vim中,ctags生成的标签文件允许用户通过按`Ctrl+]`快速跳转到函数或变量的定义处,反之,通过`Ctrl+T`可以返回原来的位置。这对于多文件的大型项目尤其有用,使得代码间的导航变得简单快捷。 `taglist`是Vim的一...
VIM configure files, containing ctags, cscope configuration, and taglist and NERDtree plugins.
本篇将详细介绍Linux下的代码阅读工具Vim,以及与其配套使用的ctags、cscope和taglist插件。 **Vim:全能文本编辑器** Vim(Vi Improved)是一款功能丰富的文本编辑器,广泛用于Linux系统。它以其高度可定制性和...
在您提供的信息中,我们关注到几个重要的vim插件,包括cscope、ctags、c-support、taglist以及minibufexpl。 1. **cscope**:这是一个源代码浏览工具,特别适用于C/C++项目。它提供了多种查找功能,如定义函数、...
Include: NERDTree, Taglist, CTags, CScope, Source Explorer等及简单的安装使用说明。 长期使用后可比Source Insight. " syntax highlighting hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=...
在Vim中安装和配置Taglist以及Ctags,通常需要修改.vimrc配置文件,添加相关设置,例如启用Taglist插件、指定ctags的路径以及自定义快捷键。安装完成后,用户只需打开一个代码文件,Taglist就会自动加载并显示标签...
为了在Linux系统上获得类似的代码导航体验,我们可以利用vim编辑器配合ctags、taglist和Cscope等工具来构建一个高效的工作环境。下面我们将详细介绍如何在Ubuntu 12.04上搭建这样一个系统。 首先,我们需要安装基础...
c.vim, gtk-vim-syntax.tar 是用于 vim 中用于 gtk ...另外建议安装 ctags 与 cscope, 通过它们我们可以在 vim 中进行函数跳转或反向索引等操作, 便于阅读代码. 这些工具建议通过 debian/ubuntu 的 apt 机制自己安装