最近在linux下寫代碼,總是要查看定義和調用關系,每次都切換到windows下用source insight實在不方便,於是試水ctags+cscope。 我只希望快速查看變量、結構的定義和函數調用關系,所以用的也簡單,省略概念介紹,直接上有用的: 遵照GNU標准, [cpp] ./configure make make install 三步簡化 完成安裝 ctags和cscope的使用分兩步: 1.生成ctags和cscope數據庫文件 2.使用命令進行查找和索引等功能 生成ctags數據庫文件: [cpp] ctags -R 這時,在執行命令的當前目錄,產生一個ctags文件,vim打開,查看內容就會明白ctags的原理 生成cscope數據庫文件: [cpp] cscope -Rbq 在當前目錄產生三個文件,cscope.in.out cscope.out cscope.po.out 接著需要使用他們的功能進行查找與索引 對於ctags只需記住四個快捷鍵足夠: :tags {ID}跳轉到標簽ID處 :tags顯示標簽棧 CTRL-]跳轉到當前光標下的標簽處(相當於SI中的CTRL+=) CTRL-T跳轉到標簽棧中較早的標簽處(相當於SI中的ALT+<) 對於cscope我也只需記住兩個命令: c: 查找調用本函數的函數 d: 查找本函數調用的函數 為使用方便,將cscope的命令在vimrc中添加如下代碼: [cpp] nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR> nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR> 使用時,按CTRL+\作為進入命令模式的前綴符,按c則查看調用本函數的函數,按d則查看本函數調用的函數。 另外,筆者是個很懶的人,一下也不願意多敲 在bashrc中,添加命令別名,以及實現方法: [cpp] alias haha='ctags_cscope_func' ctags_cscope_func() { ctags -R cscope -Rbq } 之後source ~/.bashrc 便可通過只輸入一次命令haha,完成索引數據庫文件的生成了