GUN Global + Vim及其插件 打造Android源碼閱讀器

第一步安裝GUN Global

建議使用源碼安裝,下載地址:http://tamacom.com/global/global-6.6.1.tar.gz。 html

解壓文件,編譯過程vim

./configure
make
make install

第二步配置vim

cp /usr/local/share/gtags/gtags.vim $HOME/.vim/plugin
vim  $HOME/.vimrc

增長下面兩行,開啓gtags的快捷鍵(F2~F10)與自動更新bash

let g:Gtags_Auto_Map = 1
let g:Gtags_Auto_Update = 1

第三步生成代碼索引

修改global配置文件,skips設置了要過濾的文件及目錄ide

# cp gtags.conf /etc/gtags.conf         # system wide config file.
# vi /etc/gtags.conf

$ cp gtags.conf $HOME/.globalrc         # personal config file.
$ vi $HOME/.globalrc

生成代碼索引spa

$gtags  --skip-unreadable

Global關鍵技巧GTAGSLIBPATH:

由於Android的源碼很是多因此,咱們可將部分部分代碼生成代碼索引庫文件。經過GTAGSLIBPATH來設定全部須要查找的源碼索引,例如:插件

export GTAGSLIBPATH=/workdir/Android/frameworks:/workdir/Android/system:/workdir/Android/kernel

而後在frameworks、system、kernel下運行gtags,要想使用global  在查找時須要加上 操做選項 -T,如code

global -T sendMessageDelayed

這樣就會將frameworks、system下相關的信息都會列出,但若是想在VIM中使用查找光標因此符號時須要修改gtags.vim, 給GtagsCursor增長操做選項-T, 以下所示:htm

function! s:GtagsCursor()
    let l:pattern = expand("<cword>")
    let l:option = "-T --from-here=\"" . line('.') . ":" . expand("%") . "\""
    call s:ExecLoad('', l:option, l:pattern, '')
endfunction

另外,有的C++代碼的頭文件是.h的,須要設置 export GTAGSFORCECPP=1,而後再生成tag。 blog

VIM插件推薦

一、Vundle  vim插件管理索引

二、Tagbar  源碼文件符號表插件

三、qnamebuf  多文件編輯時buffer管理插件

VIMhttps://www.cnblogs.com/mo-wang/p/4550859.html

參考資料:https://www.cnblogs.com/jhj117/p/5531493.html

相關文章
相關標籤/搜索