一直想要将VIM打造成便捷高效的IDE,所以学习VIM的配置
一、依赖环境
安装cscope和ctags. 此插件可以离线安装。
二、配置方法
需要 通过脚本生成cscope文件才可以
1.首先要编写脚本
#!/bin/sh
find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files
cscope -Rbkq -i cscope.files
ctags -R
# -o 是连接find之间的内容
此处 cscope -Rbkq 是为当前目录下所有子目录均创建数据库
-R:为当前目录下所有子目录创建数据库
-b:生成数据库之后退出,不启动自带界面
-q:生成cscope.in.out和cscope.po.out,加快搜索速度
-k:跳过/usr/include目录
-I dir :在-I选项指出的目录中查找头文件
-u:扫描所有文件,重新生成交叉索引文件;
-C:在搜索时忽略大小写;
i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪里去找源文件列表;
2.脚本使用方法, 在对应源代码的根目录下执行此脚本,例如将此脚本命名为 getcs, 放在home目录下
则在源文件目录下执行 ~/getcs, 此脚本即会生成cscope.file
3.在.vimrc 配置文件中配置cscope的使用,此处建议复制其它人在github上已经分享出来的.vimrc文件进行扩展
三、常用操作
1.cscope 可以vim命令行下输入 cs help来查看其基础操作,
常用的操作有
find : Query for a pattern (Usage: find a|c|d|e|f|g|i|s|t name)
a: Find assignments to this symbol
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 this text string
具体使用语句,比如要跳转到某文件,可以采用:
cs f f 文件名
cs(cscope) f (find) f (f 选项) 文件名
此查找时文件名可以只给出前缀关键字, 这样就可以显示出几个相应的结果,然后可通过对应数字跳转到相应的文件
ctrl+] # 光标在function_name上,按下ctrl键的同时按下’]’键
:tag function_name # 需要安装ctag
:cs f g function_name # 需要配置vimrc的escope
ctrl+t #按下ctrl键的同时按下t键
此操作会返回跳转之前的文件位置
至此, 看同事玩出花的VIM 操作我们也可以用起来啦~~