Chinaunix首页 | 论坛 | 博客
  • 博客访问: 462760
  • 博文数量: 122
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 1540
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 11:11
文章分类

全部博文(122)

文章存档

2010年(1)

2009年(76)

2008年(45)

我的朋友

分类: LINUX

2009-02-19 19:10:54


基本上来讲,vim+TagList+cscope+quickfix,已然非常强悍,远胜于SourceInSight.
使用鼠标果然是比较低效率的方式:)
---------------------------------------------------------------
快捷键映射:

     映射   助记        说明
*   ,f+s    symbol      查找本C符号
*     +d    define      查找本定义
*     +c    callme      查找调用本函数的函数
*     +t                查找本字符串
      +e    egrep       查找本egrep模式?
      +f    file        查找本文件
      +i    include     查找包含本文件的文件
*     +g                查找本函数调用的函数

,cs  生成并添加cscope索引
,cw  下拉框列表显示
比之cscope映射的“\”按键, 用“,”要快太多了。
而且开始使用cscope的时候在终端下\加组合键,会导致终端锁定“假死” ctrl-s? 当时不知道ctrl-q就只能重启终端了-_-!~

f-t跳转之后,只能通过ctrl-o回来,而通常的ctrl-t无效。
是不是有其他跳转之后回不来的,也都是如此?
---------------------------------------
生成索引
$ cscope -Rbkq<回车>
# R 表示把所有子目录里的文件也建立索引
# b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
# q 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
# k 在生成索引文件时,不搜索/usr/include目录

再vimrc里面保存以下函数,能够非常容易的使用快捷键生成cscope.out,方便快捷。
 func! CscopeTags ()
   exec "w"
   if filereadable("cscope.out")
      exec "!rm -rf cscope.*"
   endif
   exec "!find -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.cc' \
            -o -name '*.C' >cscope.files"
   exec "!cscope -Rbkq -i cscope.files"
   "exec "!ctags -R"
   cs add cscope.out $PWD
 endfunc

现在还有问题,在父目录建立索引 此时进入vim是可以检索子目录的,但是,
cd到子目录下面,cscope不可用,提示没有cscope检索文件.就是说当前目录下必须
有索引文件才可用。

  查到资料说,要用 -P选项:

add   : 添加一个新的 cscope 数据库/连接。

        用法    :cs add {file|dir} [pre-path] [flags]

            [pre-path] 用来通知 cscope 使用 -P [pre-path] 选项。

            [flags] 可以用来给 cscope 传递额外的选项。

所以要改为 cs add cscope.out $PWD
以便在添加cscope.out时,使用pre-path选项。

但是依然无效,
怎么样才能使得在父目录下建立索引,在子目录下打开文件时同样可用父目录下的索引??
阅读(1245) | 评论(0) | 转发(0) |
0

上一篇:vim高效编辑(2)

下一篇:vim中画素描

给主人留下些什么吧!~~