三国第一战将吕布,拥有两种宝物:一是赤兔马,二便是方天画戟
简介
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 [函数名]
进入函数所定义的源代码位置