vim下用ctags+cscope查找切换
2017-07-27 08:47
295 查看
i. about ctags
1安装ctags
sudo apt-get install ctags
2生成tags文件
在源码根目录下执行ctags -R命令来为程序源代码生成标签文件,其-R选项表示递归操作,同时为子目录也生成标签文件,vim利用生成的标签文件,可以进行检索,并在不同的文件、元素之间来回切换。
3指定tags文件位置
可以手动指定tags文件,在vim命令行中输入或者修改.vimrc文件
set tags=./tags
这个命令让vim在当前目录里寻找tags文件
tags文件只能查看函数,类或变量的定义,而没有被调用信息,如果要知道一个函数在什么地方被使用,需要使用cscope工具;添加的tags最好是source code的索引,对于include头文件索引没有效果。
ii. aboutcscope
1安装cscope
sudo apt-get install cscope
2知识点
1) 生成索引文件cscope -Rbq则生成cscope.in.outcscope.out cscope.po.out三个文件
在命令行执行:cs add path/cscope.out
添加索引文件的位置,或者加到.vimrc文件中
2) cscope的用法 :cs find {querytype} {name}
{querytype} 为下面的命令字
0 或 s:
查找该C语言符号
1 或 g:
查找定义
2 或 d:
查找本函数调用的函数
3 或 c:
查找调用指定函数的函数
4 或 t:
查找字符串
6 或 e:
查找 egrep 模式
7 或 f:
查找文件
8 或 i:
查找包含指定文件的文件
这些都是命令行的命令,敲起来太慢,可以在.vimrc中定义这些命令的键盘快捷键,例如快捷键<c-\>s
(敲入ctrl+\的组合键然后再敲s)组合,即实现查找C语言符号的命令,就定义在下面的第一行,也可以根据自己的习惯,定制自己的快捷键。
nmap <C-\>s :cs find s<C-R>=expand("<cword>")<CR><CR>
nmap <C-\>g :cs find g<C-R>=expand("<cword>")<CR><CR>
nmap <C-\>c :cs find c<C-R>=expand("<cword>")<CR><CR>
nmap <C-\>t :cs find t<C-R>=expand("<cword>")<CR><CR>
nmap <C-\>e :cs find e<C-R>=expand("<cword>")<CR><CR>
nmap <C-\>f :cs find f<C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>i :cs find i^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-\>d :cs find d<C-R>=expand("<cword>")<CR><CR>
http://blog.chinaunix.net/uid-21843387-id-121943.html
http://blog.csdn.net/luckywang1103/article/details/44181557
相关文章推荐
- vim ctags cscope lookupfile插件(包括如何自动生成索引tag、自动查找索引tag)
- vim+cscope+ctags+Tlist使用
- vim+ctags+taglist+cscope+cppcomplete+global
- 使用 vim + ctags + cscope + taglist 阅读源码
- vim + ctags + taglist配置和使用 【及】 一键安装 ctags和cscope的方法 【及】vim语法高亮,自动缩进,python 自动缩进设置
- 代码查看小妙招--vim ctags cscope的简单用法
- 转 Linux C语言开发平台 VIM+CSCOPE+CTAGS
- 使用 vim + ctags + cscope + taglist 阅读源码
- 【转】使用 vim + ctags + cscope + taglist 阅读源码
- vim+linux+ctags+taglist+winmanager+grep+cscope+supertab+visualmark--cscope
- 使用 vim + ctags + cscope + taglist 阅读源码
- vi/Vim + Cscope/Ctags
- vi/Vim + Cscope/Ctags
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- vim + cscope/ctags 查看分析代码
- linux系统下用vim+ctags+cscope查看源码
- vim + ctags + taglist + cscope + cppcomplete + global 使用初探
- Vim + ctags + cscope + taglist + nerdtree + winmanager 搭建详情
- vim中浏览c++代码使用ctags和cscope进行函数跳转时vimrc的配置
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete