本人ubuntu下android开发,经常需要查看和修改android系统源码,而eclispe下只适合开发英应用程序,而且太过庞大,比较吃硬件;而source insight在ubuntu下只能通过wine来安装,因此性能和体验上一直都不如意。所以每次只能通过vim来修改代码,内置的vim用起来确实不爽,但是Linux平台的可用性一直都比较强,通过安装一些插件,你会发现vim将会编程强大的IDE,使用起来也非常顺手。下图是我的vim
之前也有看过vim进化成IDE的帖子,但是当时自己也没有这个需求,目前不一样,所以我就根据一些帖子搭建自己的IDE
两篇自己觉得比较好的帖子链接如下:
手把手教你把Vim改装成IDE 将Vim改造成强大的IDE
这两篇帖子讲解的都很详细,这里我主要记录我搭建过程中遇见的问题
大概需要安装的插件有Vimcdoc,Ctags,Taglist,Cscope,SuperTab,OmniCppComplete,Winmanager,Grep和MiniBufExplorer
系统内置vim的配置都在/etc/vim和/usr/share/vim/vimxx目录下,如果需要自己配置vim,最好在~目录下新建.vim文件夹和.vimrc文件,这样也会方便移植
1.Vimcdoc
1)下载地址Vimcdoc
2)解压下载的压缩包,将解压后的doc文件夹拷贝至~/.vim目录下
3)此时打开vim,进入命令行:help
你会发现文档都已变成中文,使用:help xxx可查看相应的帮助文档
2.Ctags
1)下载地址Ctags
2)解压下载的压缩包,进入源码主目录
3)./configure
4)make
5)sudo make install
此时ctgas已安装完成,进入一个demo项目,进入主目录,使用ctags -R将会生成tags文件,在源码中通过ctrl-]能够查找变量或者函数定义的位置
3.Cscope安装方式和Ctags一样,安装过程中如果提示缺少库文件,则需要安装对应的库
4.Taglist,Winmanager和OmniCppComplete安装方式都一样,将下载后的压缩包解压到~/.vim目录下,然后进入~/.vim/doc目录,
在vim命令行模式下:helptags .将相应的帮助文档导入到vim中
5.superTab的安装方式比较特别,具体可见第二篇文章
6.grep和MiniBufExplorer安装方式是将下载的vim文件直接拷贝到~/.vim/plugin目录中
在115网盘上有我的.vim文件夹和.vimrc文件,可以直接下载使用,前提是本地已经安装好ctags和cscope
http://115.com/lb/5lbbasqj4vr#
http://115.com/lb/5lbcvm7by9l#
使用过程中比较中应该注意一下问题:
1.ctags不能自动编译出tags,因此当你修改函数或者变量等,需要ctags -R重新生成。这里我的.vimrc已生成快捷键,比较方便
2.cscope默认支持的语言比较少,当处理java时就不能识别,因此需要采取其它办法,这里有两种:
1)自己生成索引文件
a.进入代码主目录 find . -name '*.xml' -o -name '*.java' > cscope.files
b.cscope -bkq -i cscope.files
此时已经生成cscope相关的数据库文件。可以把命令写到shell脚本中,方便执行
2)修改源码编译安装
为什么cscope默认只能兼容C/C++,这肯定是源码决定的,所以修改源码就能达到我们的目的
进入cscope解压后的源码主目录 vi contrib/xcscope/cscope-indexer
在第140行你会看到这句代码egrep -i '\.([chly](xx|pp)*|cc|hh)$' | \,在这里我们改成如下egrep -i '\.([chly](xx|pp)*|cc|hh|java|aidl)$' | \就能识别java和aidl文件,一劳永逸
(自己改代码重新安装,但是没有成功)
3.在vim中想使用cscope的功能是需要在命令行:cs add /xxx/xx/cscope.out . 将cscope数据库导入到vim中。
其它的一些基础配置可以查看.vimrc文件