Vim中自动加载cscope.out
来源:互联网 发布:淘宝卖家新手教程 编辑:程序博客网 时间:2024/05/01 00:58
Vimer初成长,Vim + ctags + cscope 这个组合基本是每个Vimer的必备吧。虽然ctags已经足够强大,但是cscope可以做的更多。下面来分享下自己的vimrc脚本关于cscope的一部分,该脚本可以实现在项目的任一子目录下,自动的向上查找cscope.out,并把他add进来。
首先来分享一个小脚本,可以帮助我们在项目中生成cscope.out 和ctags。
我把这个文件命名为cs.sh
- #!/bin/sh
- find . -name "*.h" -o -name "*.c" -o -name "*.cpp" -o -name "*.java"\
- >cscope.files
- cscope -bkq -i cscope.files
- ctags -R
需要的注意的是,上面的脚本中,生成的cscope.files中保存的是相对路径,而不是绝对路径。这样的话,在cscope 中查找tags的时候,是没法打开相应的包含查找结果的文件的。怎么避免这个问题呢?有如下两个方法:
1, 在cs.sh的脚本中,find命令后接一个变量PRO_PATH,这个PRO_PATH是当前项目的跟目录,这个时候cscope.files中保存的就是所有项目文件的绝对路径了。
2,在:cs add的时候,接一个prepend path
- :cs add [cscope.out] [pre-path]
我用了第二个方法,所以就有了下面的vimrc片段,
- if has("cscope")
- set csprg=/usr/bin/cscope
- set csto=0
- set cst
- set csverb
- set cspc=3
- "add any database in current dir
- if filereadable("cscope.out")
- cs add cscope.out
- "else search cscope.out elsewhere
- else
- let cscope_file=findfile("cscope.out", ".;")
- let cscope_pre=matchstr(cscope_file, ".*/")
- if !empty(cscope_file) && filereadable(cscope_file)
- exe "cs add" cscope_file cscope_pre
- endif
- endif
- endif
最后一个脚本非常好,我加载在vimrc 的前面成功了,放后面貌似不行,不知道怎么回事,原文地址 http://blog.csdn.net/mci2004/article/details/7944074
0 0
- Vim中自动加载cscope.out
- Vim中自动加载cscope.out
- Vim中自动加载cscope.out
- Vim中自动加载cscope.out
- vim自动加载cscope.out
- cscope插件,项目根目录、任意子目录下打开vim自动加载cscope.out
- 修改vim使得cscope自动添加cscope.out
- cscope插件, 项目任意子目录下开vim自动加载.
- vim中使用cscope
- vim中使用cscope
- vim中使用cscope
- vim cscope ctags, 动态创建ctags, cscope.out,
- tags cscope 在vim中
- vim中使用cscope+ctags
- vim 中配置cscope功能
- 在vim中使用cscope
- 在vim中使用cscope
- Vim 中cscope的用法
- Linear Layout
- c++静态库与动态库
- oracle10g安装,卸载
- EventBus的学习笔记
- self = [super init]"的解释与潜藏bug
- Vim中自动加载cscope.out
- Class类的newInstance方法抛出InstantiationException异常
- iOS 框架与服务
- SQLServer 主体设置镜像伙伴失败:服务器网络地址 "TCP://server. domain.com:5022" 无法访问或不存在
- 机器学习:线性回归的基本假设
- 私信功能方案一(一张表)
- 线性规划之单纯形算法
- Android ListView控件的使用(自定义适配器 + ListView + 解决OOM )
- CardView 的使用