1)安裝cygwin+ctags+cscope下載setup.exe,以管理員身份運(yùn)行;搜索vim, ctags, cscope,選中,taglist沒有,后續(xù)自己單獨(dú)下載;安裝完成后,桌面上的cygwin terminal好像不能用;找到C:\cygwin\Cygwin批處理文件,運(yùn)行就能打開終端;
注:我后來又重裝了一次,這次桌面上的cygwin terminal快捷鍵是可用的,看來前幾次安裝就是出了問題。
2)找到vi的配置文件:運(yùn)行vi,:echo $VIM 可以查看VIM的安裝目錄,我的安裝目錄是/usr/share/vim,對應(yīng)window的C:\cygwin\usr\share\vim,其實(shí)我的安裝目錄下還有一級vim73目錄,的配置文件模板就是/usr/share/vim/vim73/vimrc_example.vim,打開它,有段說明,按照說明將這個vimrc_example.vim復(fù)制成~/.vimrc文件,這個就是vi的配置文件了。3)配置ctagscd到代碼目錄ctags -R *生成tags文件;告訴vi tags索引文件的位置:在~/.vimrc中加入一行:set tags=<tags file path>例如:set tags=~/linux-0.11/tags重啟vi之后,你現(xiàn)在可以使用Ctrl+]跳轉(zhuǎn)了,把光標(biāo)放到某個函數(shù)調(diào)用上,試試看。4)安裝taglist到官網(wǎng)下載taglsit,是一個壓縮包,解壓后會看到兩個文件夾:plugin和doc,把這兩個文件夾里的內(nèi)容復(fù)制到vi已有的對應(yīng)目錄:/usr/share/vim/vim73/plugin和/usr/share/vim/vim73/doc重啟vi,taglist就自動生效了,在vi中輸入命令:Tlist,你就會看到Taglist窗口出現(xiàn)了。5)配置cscope在vi中使用cs命令的時候,vi默認(rèn)尋找cscope可執(zhí)行程序,可是我們在安裝cygwin的時候裝的是mlcscope,所以我們需要做個鏈接:cd /usr/binln -s mlcscope cscopecd到代碼目錄,搜索所有你感興趣的文件,例如:find -name "*.s" -o -name "*.c" > file_list.cs生成cscope索引文件cscope -Rbkq -i file_list.cs告訴vi cscope索引文件的位置:在~/.vimrc中加入一行:cs add <cscope.out path> <pre_path>,例如:cs add ~/linux-0.11/cscope.out ~/linux-0.11/<pre_path>是cscope在使用索引文件查找源碼文件時候的基準(zhǔn)位置; 比如cscope.out里面記錄了一個init/main.c文件,cs在找這個文件的時候就知道從~/linux-0.11為基準(zhǔn)找int/main,也就是說cs會找~/linux-0.11/init/main.c文件;如果你在生成cscope.out索引文件的時候使用了-P參數(shù),則索引文件里就已經(jīng)記錄了每個源碼文件的絕對路徑,于是你在使用cs add加載數(shù)據(jù)庫的時候就不需要再制定<pre_path>了;好了,現(xiàn)在可以在vi中使用cs搜索代碼了,試試:cs f g foo查找foo的定義;6) 為了讓vi更好用,在.vimrc文件中加入這么幾行:" add by mayq" set tag databaseset tags=~/linux-0.11/tags" set cscope databasecs add ~/linux-0.11/cscope.out ~/linux-0.11/" show line numberset nu" set current line hightlight, forground color=white, backgournd color=dark" redset cursorlinehi CursorLine cterm=NONE ctermbg=darkred ctermfg=whitehi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white" taglist settinglet Tlist_Use_LEFT_Window=1let Tlist_File_Fold_Auto_Close=1let Tlist_Show_One_File=1let Tlist_GainFocus_On_ToggleOpen=1let Tlist_Exit_OnlyWindow=1let Tlist_Auto_Open=1nmap tl :Tlist<cr>" end mayq
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。