好文档 - 专业文书写作范文服务资料分享网站

vim学习手册 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

:cs add /home/wooin/vim71/cscope.out

因为源码是多级目录的, 如果这样写, cscope是无法在子目录中的源码中工作的, 当然, 如果你的源码都在同一级目录中就无所谓了. 如果你要经常用cscope的话, 可以把上面那句加到~/.vimrc中去.

下面我们来操练一下, 查找函数vim_strsave()的定义, 用命令: :cs find g vim_strsave 如下图:

(--- 图8 ---)

按下回车后会自动跳转到vim_strsave()的定义处. 此时你肯定会说Ctags也可以做到这个呀, 那么下面说的这个Ctags就无法做到了, 我想查找vim_strsave()到底在那些地方被调用过了, 用命令: :cs find c vim_strsave

按下回车后vim会自动跳转到第一个符合要求的地方, 并且在命令栏显示有多少符合要求的结果, 如图:

http://blog.csdn.net/wooin?

16

(--- 图9 ---)

如果自动跳转的位置你不满意, 想看其他的结果, 可以用下面的命令打开QuickFix窗口: :cw 如图:

http://blog.csdn.net/wooin?

17

(--- 图10 ---)

这时你就可以慢慢挑选了^_^

cscope的主要功能是通过同的子命令\\

cs find c|d|e|f|g|i|s|t name 0 或 s 查找本 C 符号(可以跳过注释) 1 或 g 查找本定义

2 或 d 查找本函数调用的函数 3 或 c 查找调用本函数的函数 4 或 t 查找本字符串 6 或 e 查找本 egrep 模式 7 或 f 查找本文件

8 或 i 查找包含本文件的文件

如果每次查找都要输入一长串命令的话还真是件讨人厌的事情, Cscope的帮助手册中推荐

http://blog.csdn.net/wooin?

18

了一些快捷键的用法, 下面是其中一组, 也是我用的, 将下面的内容添加到~/.vimrc中, 并重启vim:

nmap s :cs find s =expand(\nmap g :cs find g =expand(\nmap c :cs find c =expand(\nmap t :cs find t =expand(\nmap e :cs find e =expand(\nmap f :cs find f =expand(\nmap i :cs find i ^=expand(\nmap d :cs find d =expand(\

当光标停在某个你要查找的词上时, 按下g, 就是查找该对象的定义, 其他的同理. 按这种组合键有一点技巧,按了后要马上按下一个键,否则屏幕一闪就回到nomal状态了

g的按法是先按\

很奇怪, 其中的这句:

nmap i :cs find i ^=expand(\在我的vim中无法工作, 但是我改成:

nmap i :cs find i =expand(\

就可以正常工作了, 不知道是什么原因? 有哪位朋友知道请告诉我.

cscope的其他功能你可以通过帮助手册自己慢慢学习

reset : 重新初始化所有连接。 用法 : cs reset 9. QuickFix 窗口

在上一节的图10中大家可以看到在窗口下面有一个显示查询结果的窗口, 这个窗口中列出了查询命令的查询结果, 用户可以从这个窗口中选择每个结果进行查看, 这个窗口叫

\vim的插件来的, 只不过现在成了vim的标准插件, 不用你在去安装了, QuickFix窗口的主要作用就是上面看到的那个功能: 输出一些供选择的结果, 可以被很多命令调用, 更详细的介绍和使用方法请用下面的命令打开QuickFix的手册来学习吧:

:help quickfix

这里我一个常用的例子来再介绍一种QuickFix窗口的使用方法. 这个例子是要模仿平时我们编程时, 当编译出错时, QuickFix会把出错的信息列出来, 供我们一条条地查看和修改. 首先还是用vim打开~/vim71/src/main.c, 事先最好先编译过vim71, 否则一会儿编译的时候有点慢, 或者你也可以自己写一个小的有错误的程序来跟着我做下面的步骤, 见下图:

http://blog.csdn.net/wooin?

19

(--- 图11 ---)

我们修改一下main.c, 人为地造成几处错误, 在第1019行增加了一个baobao_wu的没有任何定义的字符串, 删除了第1020行最后的一个括号\:make

显然编译会报很多错误, 当编译结束并退出到源码界面时, 刚才编译器报的错误都已经看不到了, 但是我们可以用QuickFix窗口再将错误信息找出来, 用下面的命令调出QuickFix窗口: :cw

此时你就可以看如下图所示的QuickFix窗口了:

http://blog.csdn.net/wooin?

20

vim学习手册 - 图文

:csadd/home/wooin/vim71/cscope.out因为源码是多级目录的,如果这样写,cscope是无法在子目录中的源码中工作的,当然,如果你的源码都在同一级目录中就无所谓了.如果你要经常用cscope的话,可以把上面那句加到~/.vimrc中去.下面我们来操练一下,查找函数vim_strsave()的定义,用命令::c
推荐度:
点击下载文档文档为doc格式
0j22q1v0ey6gjog0oaev
领取福利

微信扫码领取福利

微信扫码分享