核心思路:1. 使用数据库缓存,加速常用操作。2. 在vim中根据环境变量加载相应工程的各种符号数据库。 1,自定义shell命令,准备工程的环境变量。本地有多个代码目录,需要切换工程,可将如下语句添加到.bashrc中,路径自定义,命令名称自定义。这些环境变量,主要是给vim准备的。alias cdsyn="export PRJTOP=~/code1/share/MT6795_SYNC ; export TAGTOP=~/code1/share/MT6795_SYNC/tags ; cd ~/code1/share/MT6795_SYNC ; mkdir -p tags ; source build/envsetup.sh; source ~/.bashrc.loc".bashrc.loc只有一句话,自定义了一个快速查找文件的命令。alias loc="locate -d $TAGTOP/.dirlocate.db"2,为工程创建数据库随便把脚本放到一个目录下,然后设置PATH。比如我放在~/code1/bin/下。使用自定义cd命令(如cdsyn)进入到工程中。udb $(pwd)。完整的更新大概十几分钟就完成了。我使用crontab -e,添加如下代码,让电脑每天凌晨时自动更新数据库。记得sudo service cron restart0 0 * * * /home/liu/code1/bin/udb-repo /home/liu/code1/share/MT6795_SYNC有的数据库是整个工程的,有的只索引部分目录。需要修改脚本,指定代码文件夹。1)locate db。在工程的几十万个文件中中找一个文件,只需要几秒钟。配合.bashrc.loc用。比如loc factory_init.rc。2)ctags db。vim中向下查函数和变量的代码。ctags和cscsope网上很多资料,不详细说了。3)cscope db。vim中向上找谁掉了这个函数。4)filelist。也是用来找文件的,但配合grep,可以更精细。比如这条命令,在sepolicy相关.te类型文件中找factory字符串。在selinux开发中,这个数据库帮了我大忙。grep "sepolicy" tags/filelist | grep ".*.te$" | xargs grep factory5)lookupfile db。在vim中找文件。http://easwy.com/blog/archives/advanced-vim-skills-lookupfile-plugin/3. 配置vim的环境变量如果你有在Android众多目录下频繁切换文件夹,为频繁设置tags路径烦恼,那么这段内容你一定很感兴趣。核心点:在vimrc中可以使用shell的环境变量。你应该还记得,在cdsyn时,已经将工程环境变量导入到shell中了。" ctags, 可以集中放在一个目录下。set tags=$TAGTOP/tags" cscope, 没办法,只能放在各自代码文件夹下,逐个添加。:cs add $PRJTOP/kernel-3.10/cscope.out $PRJTOP/kernel-3.10 :cs add $PRJTOP/system/cscope.out $PRJTOP/system :cs add $PRJTOP/vendor/cscope.out $PRJTOP/vendor :cs add $PRJTOP/bootable/cscope.out $PRJTOP/bootable :cs add $PRJTOP/device/cscope.out $PRJTOP/device :cs add $PRJTOP/bionic/cscope.out $PRJTOP/bionic" Lookup file的数据库路径let g:LookupFile_TagExpr = printf('"%s/tags/filenametags"',$PRJTOP)
Linux下开发环境配置
最新推荐文章于 2023-06-19 08:59:21 发布