原来这周周末是要Coding的,卡在service - > apk的调用,先通过Jni直接调用实现下。但是,一个DC电源拿给队友去比赛了,也没法测试。索性来玩下vim好了。先看下效果咯
对比一下之前的。。。
从Eclipse、Keil、CCS转到Android代码,Ubuntu下的vim下开发环境真心不适应。用了一段时间的Geany,蛮适合调试时候两三个文件一起修改。。
言归正传,首先安装vim
sudo apt-get install vim
安装ctags
sudo apt-get install ctags
在内核代码根目录下执行
ctags –R
显示: Warning: cannot open source file "include/linux/iscsi_boot_sysfs.h" :
这里第一次以为是权限问题,后来使用sudo 还是会提示warning ,想想可能是 "iscsi_boot_sysfs.h" 被内核源码某个文件的代码include,但是并没有编译进内核,所以编译时候不会报错。
执行ls -l tags ,可以发现生成了tags ,原理应该就是去遍历每个文件中的函数,然后建立其中的依赖关系。
在内核代码下vim 一个c文件,在移动光标到函数,使用ctrl+] 跳转到函数入口处,使用ctrl+t 或者ctrl+o 返回原文件。
安装Taglist
从 taglist.vim下载解压后复制到 .vim 文件夹下
修改vimrc配置文件
增加
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联
map <F5> :Tlist<CR>
从map <F5> :Tlist<CR>意识到快捷键映射,这里我们可以自定义快捷键
map <F2> :q! <CR>
map <F3> :wqa <CR>
map <F4> :NERDTreeToggle<CR>
map <F5> :Tlist<CR>