系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > CentOS 6.2配置vim开发环境

CentOS 6.2配置vim开发环境的步骤(5)

时间:2015-03-18 17:30:03 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150318/41885.html 手机查看 评论

  经过分析cscope.files,我们看到了很多文件。现在更新tags设置项

  :set tags=~/program_dev/trafficserver-3.2.4/tags

  至此,我们设置好了tags选项,接下来开始使用它:

  在当前命令行输入

  vim -t main

  这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。

  在浏览源码时,当要查询某个函数的定义时,将光标放在该函数上,按《C-]》键,就会跳转到该函数的定义处,按《C-t》键是返回。

  注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。

  在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。

  现在打开编号为43的文件中的main函数

  按F9打开winmanager,这时按照设置,将会出现3部分窗口布局。如果打开了多个文件(多缓冲区),将在最上角出现第四个窗口,MiniBufExplorer窗口。现在按住Ctrl,再连续按W,将在各个窗口之间按照逆时针顺序来回切换。当然,按照赵攀的文档,使用F2也一样起到该作用。再按一次F9将关闭winmanager窗口布局。

  当选中某个窗口时,都可以使用vim通常的移动鼠标的方式来选择不同的标签等,比如gg,G等快捷键。

  将光标定位到main函数所在的文件中,将光标定位到某个函数上,按住Ctrl+]键,将会跳转到该函数的定义位置。

  4.3快速浏览和操作Buffer

  用vim打开多个文件时,vim最上方会出现一个MiniBufExplorer窗口,其中列出了当前所有已经打开的buffer,当你把光标置于这个窗口时(当你处于winmanager窗口布局中时,使用Ctrl+W来轮流切换), 有下面几个快捷键可以用:

  《Tab》 向前循环切换到每个buffer名上

  《S-Tab》 向后循环切换到每个buffer名上

  《Enter》 在打开光标所在的buffer

  d 删除光标所在的buffer

  当你只编辑一个buffer的时候MiniBufExplorer派不上用场, 当你打开第二个buffer的时候, MiniBufExplorer窗口就自动弹出来了,

  4.4bufexplorer插件用法

  打开vim,输入\be在当前窗口浏览缓存,\bs水平打开一个窗口浏览缓存,\bv垂直打开一个窗口浏览缓存。

  但是在Filelist和taglist的窗口内,你可以移动上下移动光标,使用ghjk这四个键

  附注:

  :cw change-word 改变到下一个词的尾部,不含词后面的空格

  4.5Taglist窗口的快捷键操作

  在taglist窗口中,可以使用下面的快捷键:

  《CR》 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样

  o 在一个新打开的窗口中显示光标下tag

  《Space》 显示光标下tag的原型定义

  u 更新taglist窗口中的tag

  s 更改排序方式,在按名字排序和按出现顺序排序间切换

  x taglist窗口放大和缩小,方便查看较长的tag

  + 打开一个折叠,同zo

  - 将tag折叠起来,同zc

  * 打开所有的折叠,同zR

  = 将所有tag折叠起来,同zM

  [[ 跳到前一个文件

  ]] 跳到后一个文件

  q 关闭taglist窗口

  《F1》 显示帮助

  可以用”:TlistOpen“打开taglist窗口,用”:TlistClose“关闭taglist窗口。或者使用”:TlistToggle“在打开和关闭间切换。在我的vimrc中定义了下面的映射,使用《F9》键就可以打开/关闭taglist窗口:

  map 《silent》 《F8》 :TlistToggle《cr》

  按照“typedef”, “variable”, “function”等进行了分类。 将光标移到VimMain上, 如图中左边红色的方框, 按下回车后, 源程序会自动跳转到VimMain的定义处, 如图中右边的红色方框。 这就是TagList最基本也是最常用的操作。在浏览TagList窗口时, 如果还不想让源码跳转, 但是想看看tag在源码中完整的表达, 可以将光标移到你想要看的tag上, 如图中上边黄色的方框, 然后按下空格键, 在下面的命令栏中, 如图下边黄色的方框, 会显示该tag在源码中完整的写法, 而不会跳转到源码处。

  4.6cscope插件用法

  在vim中使用cscope非常简单,首先调用”cscope add“命令添加一个cscope数据库,然后就可以调用”cscope find“命令进行查找了。vim支持8种cscope的查询功能,如下:

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

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

  d: 查找本函数调用的函数

  c: 查找调用本函数的函数

  t: 查找指定的字符串

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

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

  i: 查找包含本文件的文件

  例如,我们想在vim 7.0的源代码中查找调用do_cscope()函数的函数,我们可以输入:”:cs find c do_cscope“,回车后发现没有找到匹配的功能,可能并没有函数调用do_cscope()。我们再输入”:cs find s do_cscope“,查找这个C符号出现的位置,现在vim列出了这个符号出现的所有位置。

  我们还可以进行字符串查找,它会双引号或单引号括起来的内容中查找。还可以输入一个正则表达式,这类似于egrep程序的功能,但它是在交叉索引数据库中查找,速度要快得多。

  cscope的主要功能是通过同的子命令“find”来实现的

  “cscope find”的用法:

  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查找包含本文件的文件

  vim提供了一些选项可以调整它的cscope功能:

  cscopecscopeprg选项用于设置cscope程序的位置。

  cscopecscopequickfix设定是否使用quickfix窗口来显示cscope的结果,详情请”:help cscopequickfix“;

  如果你想vim同时搜索tag文件以及cscope数据库,设置cscopecscopetag选项;

  cscopecscopetagorder选项决定是先查找tag文件还是先查找cscope数据库。设置为0则先查找cscope数据库,设置为1先查找tag文件。我通常设置为1,因为在tag文件中查找到的结果,会把最佳匹配列在第一位。

  vim的手册中给出了使用cscope的建议方法,使用命令”:help cscope-suggestions“查看。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录