熟悉以后,发觉其实配置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。
参考文章:
2、 cscope的用法