vim菜鸟学习-中级篇1(一些快捷键和一些插件)

我使用的环境是ubuntu10.04, gvim7.2

1. 跳转到 百分比

   normal模式下,n%,跳转到百分之n处

2. 跳转到行首行尾, normal模式下,命令为^和$

3.  cscope

    cscope是比ctags更加强大的工具,ctags只是实现了查找定义,但是要查找声明和在何处引用了该定义时,就无能为力了

     而cscope就可以实现这些功能。

    1)安装,根据官网( 先apt-get install,后将cscope_maps拷贝到vim/plugin中去)

    2) cscope -Rb sourceDirectory

    3)在sourceDirectory目录下,命令行下用gvim打开一个源文件

    4)有两种方法是用进行查找:

           (1)将鼠标移至目标处,是用 ctrl+\ 组合键后,按g就可以使用了

           (2)使用命令:cs cscopeCommands

               cscope commands:   
           add : Add a new database (Usage: add file|dir [pre-path] [flags])
           find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name)
                  c: Find functions calling this function
                  d: Find functions called by this function
                  e: Find this egrep pattern
                  f: Find this file
                  g: Find this definition
                  i: Find files #including this file
                  s: Find this C symbol
                  t: Find assignments to
           help : Show this message (Usage: help)
           kill : Kill a connection (Usage: kill #)
           reset: Reinit all connections (Usage: reset)
           show : Show connections (Usage: show)

   注意:这个有可能查找很慢,所以执行命令后,等一会儿

4. CCTree

     这个工具用来生成函数间调用图关系的工具,使用cscope生成的数据库cscope.out

    1)安装,根据官网

    2)在cscope.out的同级目录,命令行下使用gvim打开一个源文件

     3)执行命令 :CCTreeLoadDB cscope.out (别忘记冒号), 时间有点长

    3) 将鼠标移动到要解析的函数上面ctrl+\组合键后,按>键,就可以看到该函数调用的函数的结果

    4) 将鼠标移动到要解析的函数上面ctrl+\组合键后,按<键,就可以看到调用该函数的函数的结果

    5)如果感觉列出的内容太多而无法阅读的话,可以设置CCTree的参数CCTreeRecursiveDepth=0CCTreeMinVisibleDepth=0

5. Ctag与Taglist功能增强

  1)默认配置下,Taglist不会显示c/c++文件中extern变量和函数,我们下面实现此功能。

           (1) 打开taglist.vim文件,搜索c lan, 就可以看到c和c++的配置

           (2) 将c与c++配置后面添加;p:externAndforwardfunction;x:externAndforwardVariable

           (3) 使用ctags -R --c-kinds=+px --c++-kinds=+px生成ctags文件

           (4)重新打开vim,打开taglist,就可以看到结果了

  2) 默认情况下,Taglist总是显示所有的打开的文件的taglist很不方便,我们要实现只显示当前打开文件的taglist

            打开vim配置文件/etc/vim/gvimrc,添加配置let Tlist_Show_One_File='1'

  3) 默认情况下,Taglist将按照tag出现的顺序来显示,为了查找方便,我们设置根据tag名称来排列

             打开vim配置文件/etc/vim/gvimrc,添加配置let Tlist_Sort_Type='name'

6. 在整个工程内查找某些字符串

    有些时候我们需要在整个工程内查找一些字符串,我们可以这样做:

     1) 按照我的基础篇所示,使用vim打开source code根目录下某个文件 ,这样确保vim当前目录为source code根目录

     2) normal模式下输入:vimgrep /your String/ ** 

     3)    :copen 出现查找的结果

     4)   :cclose 关闭查找结果

7. NERDTree

    可能需要在同一个窗口中,对于不同的文件进行对比编辑,这时只需要在NERDTree中选中文件,按i键,即可split一个窗口打开文件
8. 最牛叉的代码补全插件

    YouCompleteMe插件和Clang complete插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值