vim如何跳转到函数定义处及找到在何处被调用-cscope使用

/*********************************************************************
 * Author  : Samson
 * Date    : 07/02/2015
 * Test platform:
 *              gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
 *              GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu) 
 * Nginx version:
 *              Nginx 1.6.2
 *              Nginx 1.8.0
 * *******************************************************************/

在vim的世界中,当查看源代码的时候,使用ctags工具可以实现函数方法的跳转,若要在源码中找到对应方法在哪些地方进行了调用或在哪儿定义的,只有使用grep命令进行查找得到,这样需要另起一个终端或在同一个终端中使用:!grep fucname ./* -rn | grep tags, 这样的切换对于ssh到远程操作的并不那么方便,那有没有更好的插件工具能够直接完成以上的这个功能需求呢? 那么就使用cscope工具吧,它能够完成以上描述的ctags+grep所能够完成的功能,在GNU Linux中执行如下命令即可安装。

sudo apt-get install cscope

使用方法:
1、下载 cscope_maps.vim(下载地址:http://cscope.sourceforge.net/cscope_maps.vim ) 文件,并在您的 Vim 启动配置文件中加入此文件。 如果您使用的是 Vim 6.x 版本,您可以将这个文件安排在 $HOME/.vim/plugin 目录下(如果是其他的目录,请您了解您的 'runtimepath' 环境变量)。 如果您正在使用的是 Vim5.x 的版本,您可以将此文件的所有内容加入您的 $HOME/.vimrc 文件中,或者在 .vimrc 中加入 "source cscope_maps.vim" 命令(注,此文件无比在可识别的路径中)。

2、在源代码目录下,执行cscope -Rb方法生成cscope.out文件,这是一个索引文件,类似于ctags生成的tags索引文件一样的作用;

3、打开 Vim,如果您使用 C 代码中已有的标记(symbol)(例如:'vim -t main'),那么 Vim 将跳转到您所希望的地方。将光标移动到程序中的各个源码中的某个函数处,连续的快读的键入 "CTRL - \ S"(就是按下 CRTL - 反斜线,然后再按 'S'),然后你会看见在 Vim 底部弹出一个窗口(Window),它显示了程序中所对应的标记。选择相应的一个并键入回车,就会跳到对应的位置。和 ctags 一样,你可以键入 "CTRL-t" 就可以回到搜索前的位置。

更多使用方法:
http://graceco.de/manual/cscope_vim_tutorial_zh.html

REF:
http://cscope.sourceforge.net/


你可能感兴趣的:(应用技巧)