隨著學習的深入,我們所看代碼越來越龐大,這令我們在查找某個函數時特別頭疼,下來我們一起學習下vim下的還將搭建:
ctags優點
ctags可以對文件生成tags標簽,達到快速查找的效果。
ctags可以定位的類型:
1)用#define定義的宏
2)枚舉型變量的值
3)函數的定義、原型和聲明
4)名字空間(namespace)
5)類型定義(typedefs)
6)變量(包括定義和聲明)
7)類(class)、結構(struct)、枚舉類型(enum)和聯合(unio)
8)類、結構和聯合中成員變量或函數
ctags安裝與配置:
在安裝之前先下載安裝包:ctags-5.8.tar.gz
下載地址:http://nchc.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz
下載完成後解壓:tar xvf ctags-5.8.tar.gz
1、進入ctags-5.8並配置:./configure
2、配置完成後執行:make && make install:
安裝ok後,驗證以下(此處以/root/Desktop/boZ喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3TOqsD9o6mjujwvcD4NCjxwPr34yOu4w8S/wryjrNa00NBjdGFncyAtUsP8we6jrM3qwcu74dTaYm9vc3TEv8K8z8LJ+rPJz+DTprXEdGFnc87EvP6jujxiciAvPg0KPGltZyBhbHQ9"這裡寫圖片描述" src="http://www.2cto.com/uploadfile/Collfiles/20160425/20160425091039266.png" title="\" />
但此時還不能使用,要使ctags生效,必須每次使用時在vim中執行”shift+:set tags=/root/Desktop/boost/tags”,但這樣太麻煩,一般我們都是將其寫入~./vimrc下,例如(此處vimrc在/etc/vimrc):
此時ctags就可以使用了。
taglist
TagList插件是一款基於ctags,在vim代碼窗口旁以分割窗口形式顯示當前的代碼結構概覽,增加代碼浏覽的便利程度的vim插件。它能夠高效地浏覽源碼, 其功能就像vc中的workpace, 那裡面列出了當前文件中的所有宏等等。
安裝包下載路徑:http://www.vim.org/scripts/download_script.php?src_id=7701
安裝:簡單配置一下就行了,但需要ctags的支持。
1、下載號安裝包後用tar xvf 對其進行解壓。
2、進入到生成的目錄plugin中,將裡面的taglist.vim拷貝到 /usr/share/vim/vim74/plugin/中:
[root@localhost plugin]# cp taglist.vim /usr/share/vim/vim74/plugin/
[root@localhost plugin]#
3、進入新生成的目錄doc/中,將裡面的taglist.txt文件拷貝到/usr/share/vim/vim74/doc/下:
[root@localhost doc]# cp taglist.txt /usr/share/vim/vim74/doc/
[root@localhost doc]#
上述配置好後,要使用taglist還要在~./vimrc中對其進行配置,將下述設置寫入~./vimrc中(本電腦vimrc路徑為/etc/vimrc):
其含義為:
let Tlist_Ctags_Cmd=’/usr/bin/ctags’ : 設定Linux系統中ctags程序的位置
let Tlist_Show_One_File=1:不同時顯示多個文件的tag,只顯示當前文件的
let Tlist_Exit_OnlyWindow=1:如果taglist窗口時最後一個窗口,則退出vim
let Tlist_Use_Right_Window=1:在右側窗口中顯示taglist窗口
let Tlist_Use_singleClick=1:缺省情況下,在雙擊一個tag時,才會跳到該tags定義的位置
let Tlist_Auto_OPen=1:在啟動vim後,自動打開taglist窗口
let Tlist_process_File_Always=1:taglist始終解析文件中的tag,不管taglist窗口有沒有打開
let Tlist_File_Fold_Auto_Close=1:同時顯示多個文件中的tag時,可使taglist只顯示當前文件tag,其他文件的tag都被折疊起來。
配置完成後使用下:
隨便打開boost下的smart_ptr下的shared_ptr,在最後一行鍵入:TlistToggle 打開tagllist:
在taglist窗口中,還可以使用下面的快捷鍵:
跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣
o 在一個新打開的窗口中顯示光標下tag
顯示光標下tag的原型定義
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist窗口放大和縮小,方便查看較長的tag
+ 打開一個折疊,同zo
- 將tag折疊起來,同zc
* 打開所有的折疊,同zR
= 將所有tag折疊起來,同zM
[[ 跳到前一個文件
]] 跳到後一個文件
q 關閉taglist窗口
顯示幫助
可以用“:TlistOpen”打開taglist窗口,用“:TlistClose”關閉taglist窗口。或者使用“:TlistToggle”在打開和關閉間切換。在我的vimrc中定義了下面的映射,使用“,tl”鍵就可以打開/關閉taglist窗口:
1、切換工作區:ctrl+ww
這樣ctags和taglist就搭建完成,以後再也不用擔心看代碼了