本文參考自:http://easwy.com/blog/archives/advanced-vim-skills-taglist-plugin/
插件介紹:
taglist可以使得用戶在vim編輯器中方便地查看源代碼文件結構,它可以在vim窗口中划出一部分來顯示源代碼的函數、類、結構體等信息,用戶可以從taglist中選擇並進入。
插件安裝:
注:安裝taglist前要先安裝ctags,ctags安裝方法可見http://www.cnblogs.com/willsonli/p/6555179.html
1、從http://www.vim.org/scripts/script.php?script_id=273下載最新版本的taglist plugin;
2、將其解壓縮至~/.vim中,此時,會在你的~/.vim/plugin和~/.vim/doc目錄中各放入一個文件:
plugin/taglist.vim taglist插件
doc/taglist.txt taglist幫助文件
插件配置:
1、生成幫助標簽,即在用戶目錄下輸入vim回車,在命令行模式輸入:
:helptags ~/.vim/doc
2、生成幫助標簽后,我們就可以用下面的命令查看taglist的幫助了:
:help taglist.txt
3、在~/.vimrc中輸入:
filetype plugin indent on "打開文件類型檢測功能 let Tlist_Ctags_Cmd = '/usr/bin/ctags' "設定系統中ctags程序的位置 let Tlist_Show_One_File = 1 "不同時顯示多個文件的tag,只顯示當前文件的 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一個窗口,則退出vim map <silent> <F9> :TlistToggle<cr> "按F9等同於在命令行模式輸入:TlistToggle
插件用法:
經過以上配置后,用vim打開一個文件然后輸入:TlistOpen就會顯示為:
下面是一些taglist常用的配置:
- Tlist_Ctags_Cmd選項用於指定你的Exuberant ctags程序的位置,如果它沒在你PATH變量所定義的路徑中,需要使用此選項設置一下;
- 如果你不想同時顯示多個文件中的tag,設置Tlist_Show_One_File為1。缺省為顯示多個文件中的tag;
- 設置Tlist_Sort_Type為”name“可以使taglist以tag名字進行排序,缺省是按tag在文件中出現的順序進行排序。按tag出現的范圍(即所屬的namespace或class)排序,已經加入taglist的TODO List,但尚未支持;
- 如果你在想taglist窗口是最后一個窗口時退出vim,設置Tlist_Exit_OnlyWindow為1;
- 如果你想taglist窗口出現在右側,設置Tlist_Use_Right_Window為1。缺省顯示在左側。
- 在gvim中,如果你想顯示taglist菜單,設置Tlist_Show_Menu為1。你可以使用Tlist_Max_Submenu_Items和Tlist_Max_Tag_Length來控制菜單條目數和所顯示tag名字的長度;
- 缺省情況下,在雙擊一個tag時,才會跳到該tag定義的位置,如果你想單擊tag就跳轉,設置Tlist_Use_SingleClick為1;
- 如果你想在啟動vim后,自動打開taglist窗口,設置Tlist_Auto_Open為1;
- 如果你希望在選擇了tag后自動關閉taglist窗口,設置Tlist_Close_On_Select為1;
- 當同時顯示多個文件中的tag時,設置Tlist_File_Fold_Auto_Close為1,可使taglist只顯示當前文件tag,其它文件的tag都被折疊起來。
- 在使用:TlistToggle打開taglist窗口時,如果希望輸入焦點在taglist窗口中,設置Tlist_GainFocus_On_ToggleOpen為1;
- 如果希望taglist始終解析文件中的tag,不管taglist窗口有沒有打開,設置Tlist_Process_File_Always為1;
- Tlist_WinHeight和Tlist_WinWidth可以設置taglist窗口的高度和寬度。Tlist_Use_Horiz_Window為1設置taglist窗口橫向顯示;
在taglist窗口中,可以使用下面的快捷鍵:
<CR> 跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣 o 在一個新打開的窗口中顯示光標下tag <Space> 顯示光標下tag的原型定義 u 更新taglist窗口中的tag s 更改排序方式,在按名字排序和按出現順序排序間切換 x taglist窗口放大和縮小,方便查看較長的tag + 打開一個折疊,同zo - 將tag折疊起來,同zc * 打開所有的折疊,同zR = 將所有tag折疊起來,同zM [[ 跳到前一個文件 ]] 跳到后一個文件 q 關閉taglist窗口 <F1> 顯示幫助
可以用”:TlistOpen“打開taglist窗口,用”:TlistClose“關閉taglist窗口。或者使用”:TlistToggle“在打開和關閉間切換。在我的vimrc中定義了下面的映射,使用<F9>鍵就可以打開/關閉taglist窗口:
map <silent> <F9> :TlistToggle<cr>
參考自:易水博客 [ http://easwy.com/blog/ ]