Ubuntu14.04 vim+Ctags+Taglist
2015-08-31 09:36
218 查看
原来这周周末是要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>
对比一下之前的。。。
从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>
相关文章推荐
- ArcGIS4Android开发----空间查询
- 为什么程序员这么“钟情”于月黑风高夜
- Activity和Task的启动模式有哪些?
- STL源码剖析 [容器](十三)[stl_tree.h]
- 配置sshd_config中的PermitRootLogin设置root登录或者禁止root登录
- zookeeper3.4.5自动清理日志
- jQuery实现带有洗牌效果的动画分页实例
- MySQL主从配置
- [刷题]k Sum II
- Eclipse常用快捷键
- Node.js实现RESTful api,express or koa?
- Node.js 开发指南笔记
- How to Check Whether Oracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC (文档 ID 28
- 排序总结*(雯)
- 设计模式 之 单例模式
- Win7/Win8.1系统怎么跳过升级直接全新安装并激活Win10?
- libxml主要函数说明
- hihocoder 1223 不等式
- Dialog对话框setMessage显示不出问题
- ABAP检查日期时间合法性的函数