在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文件 安装cscope (不同操作系统有不同方法,大概就是以下几种) yum install cscope 或者 sudo apt-get install cscope 或者 brew install cscope (macos)
5. 在VIM中使用CSCOPE:打开项目中的任意文件,然后在VIM中输入`:cs add . cscope.out`将当前目录下的数据库添加到CSCOPE。接着,你可以通过`:cs find`命令来查找代码,如`:cs find s <function_name>`查找函数名,`...
运行 `:PlugInstall` 后,你可以在 Vim 中使用 `:CscopeAdd` 添加一个数据库,接着通过 `:CscopeFind` 命令进行各种查询。 将 TagList 和 Cscope 结合使用,可以实现更高效的代码导航。例如,TagList 可以显示代码...
为了在Vim中使用Cscope,你需要修改_vimrc配置文件。添加以下行来加载cscope.out文件: ```vim " 加载cscope.out文件 cs add D:\PHPnow\htdocs\drupal\cscope.out " 快捷键映射,将Ctrl+G绑定到查找函数定义 map ...
在Vim中,cscope与ctags结合使用,可以实现更复杂的代码导航,例如通过`:cscope`命令进行查询,然后像使用标签一样跳转和回溯。 4. **配置Vim**:为了充分利用cscope,需要在Vim中进行相应的配置。首先,安装cscope...
在"VIM IDE and CSCOPE配置(修改版本)"中,主要涉及了两个关键的增强功能:Supertab和C语言函数补全。Supertab是一款VIM插件,它允许用户通过按下Tab键来进行智能补全,使得代码编写更加流畅。在描述中提到,这个...
vim的经典插件cscope,号称超频的ctags,此版本为linux版本
4. **cscope_maps.vim**:这个文件提供了在Vim中使用cscope的一组快捷键映射,使得用户能够无缝地在Vim编辑模式下使用cscope的各种功能。例如,使用`Ctrl-T`查找全局定义,`Ctrl-D`查找函数定义等。将cscope_maps....
在`Vim`中使用`Cscope`非常直观。首先,使用`:cscope add`命令添加数据库,然后使用`:cscope find`进行查找。`Vim`支持八种`Cscope`查询类型: 1. `s`: 查找C语言符号,如函数名、宏、枚举值等。 2. `g`: 查找函数...
在IT行业中,编辑器是程序员日常工作中不可或缺的工具,Vim作为一款强大的文本编辑器,因其高度...使用这个配置,程序员可以更加高效地在各种项目中穿梭,无论是快速定位代码,还是管理复杂的项目结构,都能得心应手。
在windows下用vim的兄弟不少吧。 代码的话需要用cscope和ctags的组合, 可以达到类似sourceinsight的效果。这次上传的是cscope.exe和ctags.exe。这个是编译好的版本,在windows下直接用。不需要cygwin.dll的参与 我...
windows 下的scope 解压后cscope.exe curses2.dll regex2.dll放在PATH路径下(可以直接放在C:\Windows\System32 下)。cscope_maps.vim放在Vim的安装目录下的Vim/vimfiles/plugin下就可以用了。
vim+ctags+cscope一键安装(使用)
在Vim中集成Cscope,可以实现无需离开编辑器的高效代码探索。 首先,确保你的计算机已经安装了Cscope。如果没有,你需要下载并安装。同时,你的Vim版本应为6.x或以上,因为低版本可能不支持某些特性,如垂直分割。...
vim+cscope配置
- 垂直分割窗口:连续按下 `Ctrl+Space` 两次,或者修改 `cscope_maps.vim` 脚本中的 Vim 超时设置,以实现垂直分割窗口的功能。 - 多窗口操作快捷键: - 移动到其他窗口:`Ctrl+W w` - 关闭当前窗口:`Ctrl+W c...
2. **ctags**:这是一个标签生成器,它能够生成源代码文件的标签文件,这些标签文件可以被编辑器(如Vim或Emacs)使用,实现快速跳转到函数定义、类定义等。当你在代码中按某个键(通常是Ctrl+])时,编辑器会根据...
通过与Vim集成,开发者可以在Vim内直接调用cscope进行各种查询,而无需离开编辑环境,从而实现无缝的代码导航和调试。 **Ctags**: Ctags是另一个代码索引工具,它能生成一个包含符号表的文件,这个文件包含了程序中...
- **跳转到指定的函数或变量**:在 Vim 编辑器中,可以使用 `:tag` 命令来快速定位到特定的函数或变量定义处。例如,要跳转到名为 `func_name` 的函数,可以输入 `:tag func_name`。使用 `TAB` 键可以进行自动补全。...
在 Vim 中,你可以使用 `:CscopeAdd` 命令添加当前目录作为 Cscope 数据库,或者通过 `:CscopeBuild` 自动构建数据库(前提是你的项目已配置好 `cscope.out` 文件)。一旦数据库建立,你可以使用预先定义的快捷键,...