VIM 配置 使用 Ctags Taglist 和cscope 等插件

时间:2023-02-06 17:23:40
     VIM是一款非常高效的编程工具,依靠其插件可以扩展很多实用的功能,受到很多老linuxer的青睐,但其插件需要配置中需要记住一些常用的快捷键及命令,所以入门比较困难,让很多新手望而却步。

    熟悉以后,发觉其实配置VIM很简单。

Ctags

    简  介:Ctags 插件实现的功能是能够根据函数名,变量名创建很多标签,然后当阅读到某个标签时,想查看这个标签还出现在哪些文件以做深层了解,可以直接 CTRL+】 查看,看完后 按CTRL+ t 回来。

    安  装:非常方便,ctags源文件下载后,通过tar zxvf ctags-版本号.tar.gz 解压后,进入文件目录,./configure && make && make install 安装。

    配  置:在vim配置文件如.vimrc中 写入一行  set tags=tags; 注意要加上;

    使  用:建立TAG索引,当进入某个编程目录中,在终端执行ctags -R * 即可为整个程序建立tag索引,阅读程序时,只需ctrl+】就可以了。

    其  他:当要寻找某个函数时可以在vim中  : tag fun_name   来找到想要的结果。

Cscope

    简  介:cscope在功能上是ctags的升级版,cscope可以查看到某个函数被哪里调用过,这一点是ctags望尘莫及的,

    安  装:安装非常简单,下载后,./configure && make && make install 安装。

    使  用:使用前,和ctags一样需要建立一个索引库,进入项目目录执行 cscope -Rbq 会生成cscope.out cscope.in.out cscope.po.out三个文件, 在vim 中执行 :cs add cscope.out 挂载cscope的索引即可。若当我们想查找一个函数:fun_name()时,可以输入:: cs f c fun_name 查找这个函数被哪里调用。

      c 查找调用本函数的函数

      s 查找函数名,宏等出现的地方

      g 查找函数命,宏等定义的地方

      d 查找本函数调用的函数

      t 查找字符串

      e 按照正则查找

      f 查找并打开文件

      i 查找包含本文件的文件

     配  置:在网上查找相关的快捷键配置粘贴到vim配置文件中。

     

    倘若感觉每次使用时都需要写很多的参数,可以把命令alias简化。

    如: alias docscope='cscope -Rbq'

         alias doctags='ctags --c-kinds=+defglmnstuvx --langmap=c:.c.h.ho.hem.het.hec.hev.him.hit.hic.hiv -R .'

    或者编辑一个sh脚本:

     #!/bin/sh

     find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files

     cscope -bkq -i cscope.files

     ctags -R

     同时,VIM也可以多窗口编辑文件,通过:split file_path  或者 :vsplit file_path 在左边或者右边建立窗口,通过按两下ctrl+w可以在这些窗口中切换,同时也可以按ctrl+w 然后点击对应的 g h j k 在各个窗口中切换,其他快捷键可以:help ctrl-w。

 

参考文章: 

1、vi多个 文件 和 多窗口编辑的 命令

2、 cscope的用法