【ctags/cscope/project安装使用】给神编辑器vim添加新的翅膀
本文地址
分享提纲:
1.安装
2.使用cscope
3.使用project
1.安装
1.1)linux(yum下安装)
yum -y install cscope
1.2)linux(unbuntu下安装)
sudo apt-get install cscope
1.3)mac下安装
2. 使用
2.1) 添加需要索引的文件(*.php,*.js,*.css.*.sh)
$ cd /home/test/myWork $ find /home/test/myWork -name "*.js" -o -name "*.sh" -o -name "*.php" > /home/test/myWork/cscope.files
2.2) 建立索引文件(会生成cscope.out文件)
$ cd /home/test/myWork $ cscope -b
2.3)使用
2.3.1 手动加载cscope.out库
:cs add /home/test/myWork/cscope.out
2.3.2 ~/.vimrc中加载
$ vim ~/.vimrcif has("cscope") && filereadable("/usr/bin/cscope")set csprg=/usr/bin/cscopeset csto=0set cst set nocsverb" add any database in current directoryif filereadable("/home/test/myWork/cscope.out")cs add /home/test/myWork/cscope.outendif endif
2.3.3 查看库
:cs show
2.4) find查找命令
:cs f s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
:cs f g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
:cs f d ---- 查找本函数调用的函数
:cs f c ---- 查找调用本函数的函数
:cs f t ---- 查找指定的字符串
:cs f e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
:cs f f ---- 查找并打开文件,类似vim的find功能
:cs f i ---- 查找包含本文件的文
2.5)跳转
Ctrl+] 将跳到光标所在变量或函数的定义处
Ctrl+T 返回
:set csto=0
‘csto’的值决定了|:cstag|执行查找的顺序。假如’csto’被设置为0,那么cscope数据将会被优先查找,假如cscope没有返回匹配项,然后才会查找tag文件。反之,则查找顺序相反。默认值是0。
3.使用project
3.1)首次使用
如果项目地址为:/home/test/myWork。
命令行中输入vim命令;然后输入:Project ;再然后\C创建一个项目。(注意是\C 大写的C)
$ vim :Project
\C。Enter the Name of the Entry: myWork
Enter the Absolute Directory to Load: /home/test/myWork
Enter the CD parameter: /home/test/myWork
Enter the File Filter: *.csv *.php *.js *.sh *.sql *.conf *.xslt *.xml *.avatar *.tpl *.dev *.prd crontab.* *.cfg.* *.html *.htm *.intftest *.vim *.plx *.txt
保存
:w
3.2) 再次使用
方式一
$ vim
:Project
方式二
$ vim -c 'Project /home/test/.vimprojects'
3.3)添加项目
3.3.1)在已有项目中添加;如需要在/home/test/myWork项目中。在db目录中添加conn文件夹。
a) $ vim -c 'Project /home/test/.vimprojects'
b)光标移动到db目录下 a.txt那一行。conn即会在a.txt下方建立。
c) 命令模式输入:\C。添加conn
Enter the Name of the Entry: conn
Enter the Directory to Load: conn
Enter the CD parameter:
Enter the File Filter:
3.3.2)添加新项目
只需要将光标移动最后一行。然后按照4.1节新建项目即可。
3.4) ~/.vimprojects
所有的项目的文档目录都会保存在~/.vimprojects。格式如下:
myWork=/home/test/myWork CD=/home/test/myWork filter="*.csv *.php *.js *.sh *.sql *.conf *.xslt *.xml *.avatar *.tpl *.dev *.prd crontab.* *.cfg.* *.html *.htm *.intftest *.vim *.plx *.txt" { index.php config=config { } css=css { } db=db { a.txt conn=conn { mysql.php } b.txt } } myWork2=/home/test/myWork2 CD=/home/test/myWork2 { a.txt b.txt }
3.5)其它一些操作
启动 project 插件后,相对应的就会支持一些命令。在常规模式下输入(注意区分大小写):
\r 根据项目过滤符更新折叠处的文件。
\R 递归执行 \r 。
\c 创建一个项目。但不包括指定目录下的子目录。
\C 递归执行 \c,包括指定目录下的所有子目录。
<Return> 打开文件;打开或关闭折叠。
<S-Return> Shift+Return
\s 同 <Return> 打开文件,打开文件时水平分割窗口。
\S 加载所有文件到当前窗口,当前窗口会被水平分割显示所有文件。
<C-Return> Ctrl+Return
\o 打开指定文件到一个窗口中,并且关闭所有其它窗口,
<M-Return> Alt+Return
\v 仅仅打开文件,光标仍然保留在项目列表中。
<CTRL-Up>
\<Up> 移动文本或者折叠到当前光标的上一行。
<CTRL-Down>
\<Down> 移动文本或者折叠到当前光标的下一行。
\i 在状态栏中显示光标所在折叠的完整参数以及继承参数。
\I 在状态栏中显示文件的完整路径。
\l 加载当前项目层的所有文件到到当前 vim 中。在加载的过程中,任何按键都导致停止。
\L 加载当前项目以及子项目中的文件到当前 vim 中。谨慎使用。
\g 在当前项目层执行 grep 。
\G 在当前项目层及子项目执行 grep 。
<F12> 当在变量 g:proj_flags 中使用了标志位 'g' 时, 该键用来切换打开和关闭项目窗口.
其它操作参见 project.txt 。
转载于:https://www.cnblogs.com/aiweixiao/p/6510976.html
【ctags/cscope/project安装使用】给神编辑器vim添加新的翅膀相关推荐
- cad连筋字体怎么安装_CAD for MAC中怎么添加新字体?CAD for MAC全套字体(CAD全套字体)...
- 【转】使用 vim + ctags + cscope + taglist 阅读源码
原文网址:http://my.oschina.net/u/554995/blog/59927 最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找 ...
- 神级编辑器 Vim 使用-插件篇
在这篇中, 会列举各种实用的插件, 包括他们的安装, 配置及使用方法 注意: 不是本部分的所有插件都是你需要装的, 如果盲目安装插件只会导致你 vim 功能混乱, 速度底下, 所以适时整理真正需要的插 ...
- Linux 内核阅读工具vim+ctags+cscope+taglist
今天,来介绍一下vim+ctags+cscope+taglist的内核阅读配置.当使用过之后,我相信大部分人都会舍弃之前的Eclipse(我就是活生生的一个例子).我们先来看看实现的界面是怎么样的: ...
- 配置vim支持源码浏览(vim+ctags+cscope)
2019独角兽企业重金招聘Python工程师标准>>> 配置vim支持源码浏览(vim+ctags+cscope) 介绍 windows下流行的源码阅读软件是source insig ...
- linux vim ctags,Linux环境上代码阅读与编写的利器-vim+ctags+cscope
Linux环境下代码阅读与编写的利器----vim+ctags+cscope 所谓工欲善其事,必先利其器. 从事Linux程序开发,特别是Linux驱动程序的开发,不管是通过windows下虚拟一个L ...
- Sublime Text + CTags + Cscope (部分替代Source Insight)
CTags & cscope 下载: CTags+Cscope --- 我的百度云盘下载 http://pan.baidu.com/s/1gfyPnuN ctags58.zip --- src ...
- Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)
众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一 ...
- Windows10下用vim+ctags+cscope搭建属于自己的IDE
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.估计大家经常用的IDE工具如SourceInsight,Notepad++,VScode等等.SourceInsight属于收费软件,其 ...
- vim配置python开发环境_Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)...
众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一 ...
最新文章
- 台式计算机无线设置,台式电脑怎么设置无线网络?
- 异步同步、阻塞非阻塞、异步回调、线程队列和协程
- 编程名言(有些趣味性)
- sudo apt-get install 安装软件总是出现“404 NOT FOUND” 错误的解决方案 !
- linux添加以太网头部函数,linux – 在内核模块中创建一个以太网数据包并发送它...
- 【C语言简单说】十五:while循环
- 枚举生成MVC3: Bind Enum To DropDownList ?-java教程
- 数据状态更新时的差异 diff 及 patch 机制
- Mozilla 发布新 Firefox 用户信息反跟踪策略
- 大数据之-Hadoop3.x_MapReduce_shuffle机制---大数据之hadoop3.x工作笔记0110
- STM32工作笔记0051---NVIC中断优先级管理
- 数字的与或非处理表中的多个状态(二)
- Dart教程(四):语法
- 决策树分类算法(包含隐形眼镜分类的代码)
- iPhone iPad Cydia 软件源 大全
- 【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统
- 中国自然地理分区数据集 (含农业区划、森林工程、生态保护区、九大流域等)
- 我的电脑硬盘由SSD+HD组合,在HD上成功安装CentOS6.9
- python画图解决Times New Roman自带粗体问题
- 软件设计与体系结构编程题汇总
热门文章
- php伪随机数 ctf,[GWCTF 2019]枯燥的抽奖
- kettle查询mysql获取uuid_java中调用kettle转换文件
- 组件三层_Java三层架构原理与作用小结
- html轮播图显示失败_html简单的二级菜单制作
- Redis RDB持久化和AOF持久化及恢复测试
- java系统时间获取,存储,及获取时间戳,格式化显示
- oracle 启动_oracle实验--通过gdb工具研究数据库启动过程
- string.split方法 保留分隔符_白月黑说什么是对象的方法?以及string类型数据对象的常见方法解析...
- 7 vsphere 分配许可_外企公司员工Office 365权限是否已分配
- 1.2创建简单的应用