`
quqiufeng
  • 浏览: 11233 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

vim中 使用 cscope 实现 php函数定位 linux windows都可以实现

阅读更多

在vim中我们查看源代码时,有时候需要到函数定义的地方去看一下函数的具体代码是怎么样的。这篇文章就是解决这个问题。


1,先下载 windows下编译好的  cscope.exe    linux 下要安装包  运行 apt-get install  cscope 命令
windows环境 到http://sourceforge.net/projects/mslk/files/Cscope/
下载  最新的  cscope-15.7.zip 然后解压  把解压后的三个文件 拷贝到你的  gvim.exe 所在的目录
比如我的是  D:\Vim\vim73

2,生成必要文件
运行 cmd   cd 到你的 php项目文件夹 比如我的是  D:\PHPnow\htdocs\drupal
运行  dir /s /b *.php *.inc *.module > cscope.files   

linux 下面是
find . -name "*.php"  -o -name '*.inc' -o -name '*.module' > cscope.files

这个命令会生成一个  cscope.files 文件
你可以打开看一下  就是一个满足上面那个搜索命令的文件列表

解释一下,  drupal的函数是定义在 .php .inc .module  这三种后缀名文件里面的 所以我要搜索这三种文件   
一般项目只需要  搜索.php 就够了
既使用 dir /s /b *.php  > cscope.files   *. 是通配符  不解释

3 ,接着运行  cscope -b
会在文件夹下面生成一个 cscope.out 文件



4,修改 vim 配置文件  _vimrc
加入  

"cscope定位函数就靠这个文件了  现在载入他  也可以在vim中用命令载入  运行:cs help 查看相关介绍
cs a D:\PHPnow\htdocs\drupal\cscope.out

我一般是不在 _vimrc 里面设置  
而是在需要的时候在vim运行 :cs add d:\phpnow\htdocs\drupal\cscope.out 命令

然后就可以查找函数定位了

如果提示 某文件找不到  请运行在vim里面  运行 :pwd  查看vim当前所在的目录  目录不对的 用 :cd 命令 切换到正确目录


下载 http://cscope.sourceforge.net/cscope_maps.vim
放到 $Vim\vimfiles\plugin 目录下


"搜索函数定义的位置
map <C-g> :cs find g <C-R>=expand("<cword>")<CR>

保存之后 退出vim 重新打开vim

当需要查看函数的定义位置的时候,把光标放在 函数名上 按 ctrl + g  vim 底部出现
:cs find g 函数名
然后再按 回车键  就可以到函数定义的位置了   返回上一个位置  按 ctrl + o

另外:不使用快捷键的查询
vim command下查询

:cs find s function_name  查找C语言符号,即查找函数名、宏、枚举值等出现的地方

:cs find g function_name
查找函数、宏、枚举等定义的位置,类似ctags所提供的功能

本博文解决的问题

:cs find d function_name  查找本函数调用的函数

:cs find c function_name
查找调用本函数的函数   这个也比较有用处

:cs find t function_name   查找指定的字符

:cs find e function_name  查找egrep模式,相当于egrep功能,但查找速度快多了

:cs find f function_name   查找并打开文件,类似vim的find功能

:cs find i function_name   查找包含本文件的文件



我的博客  http://hi.baidu.com/quqiufeng/blog/category/Vim  
我的手工艺小站  http://www.beauty-mood.com/

分享到:
评论

相关推荐

    vim中使用cscope处理php文件

    vim中使用cscope处理php文件 安装cscope (不同操作系统有不同方法,大概就是以下几种) yum install cscope 或者 sudo apt-get install cscope 或者 brew install cscope (macos)

    VIM IDE and CSCOPE 配置

    5. 在VIM中使用CSCOPE:打开项目中的任意文件,然后在VIM中输入`:cs add . cscope.out`将当前目录下的数据库添加到CSCOPE。接着,你可以通过`:cs find`命令来查找代码,如`:cs find s &lt;function_name&gt;`查找函数名,`...

    vim plug taglist cscope

    运行 `:PlugInstall` 后,你可以在 Vim 中使用 `:CscopeAdd` 添加一个数据库,接着通过 `:CscopeFind` 命令进行各种查询。 将 TagList 和 Cscope 结合使用,可以实现更高效的代码导航。例如,TagList 可以显示代码...

    在windows下如何用cscope实现函数定位.doc

    为了在Vim中使用Cscope,你需要修改_vimrc配置文件。添加以下行来加载cscope.out文件: ```vim " 加载cscope.out文件 cs add D:\PHPnow\htdocs\drupal\cscope.out " 快捷键映射,将Ctrl+G绑定到查找函数定义 map ...

    linux源代码阅读工具vim+ctag+cscope

    在Vim中,cscope与ctags结合使用,可以实现更复杂的代码导航,例如通过`:cscope`命令进行查询,然后像使用标签一样跳转和回溯。 4. **配置Vim**:为了充分利用cscope,需要在Vim中进行相应的配置。首先,安装cscope...

    VIM IDE and CSCOPE 配置(修改版本)

    在"VIM IDE and CSCOPE配置(修改版本)"中,主要涉及了两个关键的增强功能:Supertab和C语言函数补全。Supertab是一款VIM插件,它允许用户通过按下Tab键来进行智能补全,使得代码编写更加流畅。在描述中提到,这个...

    vim经典插件cscope-15.8a-for linux

    vim的经典插件cscope,号称超频的ctags,此版本为linux版本

    ctags,cscope,taglist.vim,cscope_maps.vim

    4. **cscope_maps.vim**:这个文件提供了在Vim中使用cscope的一组快捷键映射,使得用户能够无缝地在Vim编辑模式下使用cscope的各种功能。例如,使用`Ctrl-T`查找全局定义,`Ctrl-D`查找函数定义等。将cscope_maps....

    linux下使用 vim + cscope 查看代码

    在`Vim`中使用`Cscope`非常直观。首先,使用`:cscope add`命令添加数据库,然后使用`:cscope find`进行查找。`Vim`支持八种`Cscope`查询类型: 1. `s`: 查找C语言符号,如函数名、宏、枚举值等。 2. `g`: 查找函数...

    vim + ctags + cscope + nerdtree + taglist + vundle

    在IT行业中,编辑器是程序员日常工作中不可或缺的工具,Vim作为一款强大的文本编辑器,因其高度...使用这个配置,程序员可以更加高效地在各种项目中穿梭,无论是快速定位代码,还是管理复杂的项目结构,都能得心应手。

    windows cscope 及vim配置文件

    windows 下的scope 解压后cscope.exe curses2.dll regex2.dll放在PATH路径下(可以直接放在C:\Windows\System32 下)。cscope_maps.vim放在Vim的安装目录下的Vim/vimfiles/plugin下就可以用了。

    vim+ctags+cscope一键安装(使用)

    vim+ctags+cscope一键安装(使用)

    Vim _ Cscope教程1

    在Vim中集成Cscope,可以实现无需离开编辑器的高效代码探索。 首先,确保你的计算机已经安装了Cscope。如果没有,你需要下载并安装。同时,你的Vim版本应为6.x或以上,因为低版本可能不支持某些特性,如垂直分割。...

    适用于windows下vim的cscope和ctag

    在windows下用vim的兄弟不少吧。 代码的话需要用cscope和ctags的组合, 可以达到类似sourceinsight的效果。这次上传的是cscope.exe和ctags.exe。这个是编译好的版本,在windows下直接用。不需要cygwin.dll的参与 我...

    Vim-Cscope教程

    - 垂直分割窗口:连续按下 `Ctrl+Space` 两次,或者修改 `cscope_maps.vim` 脚本中的 Vim 超时设置,以实现垂直分割窗口的功能。 - 多窗口操作快捷键: - 移动到其他窗口:`Ctrl+W w` - 关闭当前窗口:`Ctrl+W c...

    vim+cscope配置

    vim+cscope配置

    windows下的linux工具集,含cscope

    2. **ctags**:这是一个标签生成器,它能够生成源代码文件的标签文件,这些标签文件可以被编辑器(如Vim或Emacs)使用,实现快速跳转到函数定义、类定义等。当你在代码中按某个键(通常是Ctrl+])时,编辑器会根据...

    linux-tools:vim73 cscope ctags .vimrc

    通过与Vim集成,开发者可以在Vim内直接调用cscope进行各种查询,而无需离开编辑环境,从而实现无缝的代码导航和调试。 **Ctags**: Ctags是另一个代码索引工具,它能生成一个包含符号表的文件,这个文件包含了程序中...

    vim+ctags+cscope

    - **跳转到指定的函数或变量**:在 Vim 编辑器中,可以使用 `:tag` 命令来快速定位到特定的函数或变量定义处。例如,要跳转到名为 `func_name` 的函数,可以输入 `:tag func_name`。使用 `TAB` 键可以进行自动补全。...

    vim-cscope:vim 的 cscope 映射

    在 Vim 中,你可以使用 `:CscopeAdd` 命令添加当前目录作为 Cscope 数据库,或者通过 `:CscopeBuild` 自动构建数据库(前提是你的项目已配置好 `cscope.out` 文件)。一旦数据库建立,你可以使用预先定义的快捷键,...

Global site tag (gtag.js) - Google Analytics