三国第一战将吕布,拥有两种宝物:一是赤兔马,二便是方天画戟


简介

vicc 是一款工作在64位Linux的控制台环境下的程序开发编辑器

它的工作原理: (1).通过shell代码实现控制台的图形界面,引导用户去创建ctags和cscope的符号数据库,

(2).通过shell代码实现控制台的图形界面,调用vim-7.4作为代码编辑器时自动加载ctags,

                                 cscope所需的符号数据库文件,同时加载一些有用的vim插件辅助vim帮助用户更方便

地进行代码开发和管理;


使用门槛:  相对Windows下的IDE,难度颇高(全键盘操作)

                  要求使用者熟悉vim的操作


安装:   通过如下命令自动进行安装

git clone https://gitee.com/jllim/vicc_for_linux64_installer.git

cd vicc_for_linux64_installer

./vicc_installer_over_linux64.sh

使用方法:

1.创建vicc工程:  (实际上就是为每个工程创建“符号关联数据库"),以一个项目为例

(1).本项目LoRaMac-node_PortingByJLLim的目录树如下:

(2).运行命令 vicc -c 开始创建工程

(3).出现新增项目的菜单向导,新工程选择第一项”Add a new Project“,回车进行下一步

(4).输入项目名称:  LoRaMac-node_PortingByJLLim,回车进行下一步

(5).选项这个项目需要关联的源代码类型: 因为主要是C和Asm语言,和一些Makefile构建的源码树,

我们项目的需要让这些源码中的符号可以跳转跟踪(即函数定义,调用关系等符号关联),因此

选择C,Asm,Make, 按下q键进行下一步

(6).选择要关联的源码树路径, 这里图个方便全选了,但如果代码很大,不想全选,可以按Help For  Usage的

说明操作目录树,按空格键可以选中或取消选中。选好后,按q键进行下一步

(7).此时只需要等待构建工程完成即可

2.使用vicc阅读源代码

vicc主要有两种方式打开源代码,但都需要在项目所在的任意子目录当中。

比如实例中必须在LoRaMac-node_PortingByJLLim/这个目录下的任意子目录中打开源代码文件,都是可以正确加载vicc的符号关联数据库文件的。

2.1.使用vicc正确打开源代码文件

输入 :cs show ,出现如下信息,表示确实加载了cscope符号关联数据库文件

输入 :Tlist 可以打开左侧窗口,显示函数列表和全局变量列表, 再输入一次 :Tlist 可关闭左侧窗口

光标如何在左侧窗口和右侧窗口进行切换: ctrl+w+w

光标在右侧主窗口:  ctrl+w+w将使光标切换到左侧窗口

光标在左侧主窗口:  ctrl+w+w将使光标切换到右侧窗口,

或者选择某个函数(j向下选择,k向上选择)再按回车即可跳回主窗口相应的函数定义位置

在光标所在符号(比如函数,或者变量,或者类型等等完整单词处),键盘

上输入\+m即会高亮光标所在符号名,再输入一次\+m即可取消高亮:

查找变量/函数的引用定义: 同时按住 ctrl + \,松开后再按一下 s,即可下底部出现可选窗口(如果只有一项,不出现底部窗口,直接跳到目标变量/函数),输入对应的数字后回车即完成跳转到目标变量/函数的位置

查找变量/函数的定义:

把光标移到变量名或函数名位置上,同时按下 ctrl + ]

比如:  光标在mode变量上,按下 ctrl + ]

出现mode所有定义的位置,有more表示多页显示,按j/k/空格都可以上下滚动菜单项,按下q或滚动到结束页,都会出现

输入对应的数字,再回车表示选中某一项跳转;如果没有输入任何数字直接回车,不完成跳转并回到原处;

2.2.使用vicc快速打开函数定义的位置

在vicc构建的项目所在任意目录下,执行

vicc -t [函数名]

进入函数所定义的源代码位置

程序大师的方天画戟 - vicc相关推荐

  1. 理想的程序大师是如何样炼成的

    我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔.26 岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭.害怕被炒鱿鱼以及同事冷落白眼的三重压力下逆流 ...

  2. 全球最厉害的14位程序员!

    全球最厉害的14位程序员是谁,你知道的有几位呢? 以下排名不分先后: 1. Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右. ...

  3. 全球最厉害的 14 位程序员!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 一文详细介绍全球最厉害的14位程序员!!! 01 Jon Skeet 个人名望:程 ...

  4. 全球最厉害的 14 位程序员,请收下我的膝盖

    全球最厉害的14位程序员是谁,你知道的有几位呢? 以下排名不分先后: 1. Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右. ...

  5. 世界最厉害的14位程序员,你认识几个?

    世界最厉害的14位程序员都有谁?你认识几个呢?排名不分先后. 01 Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右. 个人简 ...

  6. 盘点全球最厉害的14位程序员,你认识几个?

    全球最厉害的 14 位程序员是谁? 一起来看下让我们膜拜的这些大神都有哪些?( 以下排名不分先后. ) 01.Jon Skeet 个人名望: 程序技术问答网站 Stack Overflow 总排名第一 ...

  7. 全球最厉害的 14 位程序员,你知道几位呢?最厉害的研究出了它!

    导读:全球最厉害的 14 位程序员是谁?一起来看下让我们膜拜的这些大神都有哪些? 排名不分先后. 01 Jon Skeet 个人名望:程序技术问答网站 Stack Overflow 总排名第一的大神, ...

  8. 全球最厉害的14位程序员

    导读:全球最厉害的14位程序员是谁?让我们一起膜拜一下这些大神,排名不分先后. 01 Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在42 ...

  9. ❤️《小黄鸭调试法》程序员必备技能!!!❤️

    小黄鸭调试法 场景一:我们都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题的经历,但是很多时候就在我们解释的过程中自己却想到了问题的解决方案,然后对方却一脸茫然. 场景二:你的同行跑来问你 ...

  10. 全球顶级的14位程序员大神!

    来源:IT World整理自网络 全球最厉害的14位程序员都有哪些人?接下来让我们一起来看一下让业界膜拜的这十几位顶级编程大神. 注意,排名不分先后. 01 Jon Skeet 个人名望:程序技术问答 ...

最新文章

  1. tensorflow中转置卷积运算例子
  2. 二进制包 mysql_二进制包;mysql
  3. Finding Similar Items 文本相似度计算的算法——机器学习、词向量空间cosine、NLTK、diff、Levenshtein距离...
  4. WindowsTime服务设置
  5. 51nod 1557 两个集合 (严谨的逻辑题)
  6. LeetCode之Missing Number
  7. Win7中多账户设置自动登录的图文方法
  8. Dubbo项目基本业务基础构建
  9. 移位运算符优先级很低
  10. HDU-1753-大明A+B
  11. java8循环_Java8里请不要再使用循环语句
  12. php在哪改缩略图的大小,Thinkphp自定义生成缩略图尺寸的方法
  13. 计算机基础(06)计算机网络应用
  14. boost电路输出电流公式_boost计算公式
  15. 关于裁员几点看法及建议
  16. 【Python】半次元COS图爬取
  17. 软件架构模式 mark Richards - 读后总结 2 事件驱动架构
  18. 影视账号涨粉10w,反套路营销获赞百万,小红内容趋势是什么?
  19. 微信小游戏开发能否突破4M限制
  20. 注册jar包为windows服务

热门文章

  1. 主机无法Ping通虚拟机
  2. 【数据分析师3级】 数据挖掘方法论
  3. 正方形长方形的个数 规律
  4. idea清除本地注册信息
  5. 前端通过localstorage统计浏览量
  6. 手机验证码实现注册功能
  7. oracle根据身份证计算年龄的方法
  8. 评价法(一):层次分析法的步骤和方法
  9. 如果时间不够 ,无法进行充分的测试怎么办?
  10. nssa和stub_stub与nssa的区别