本節所用命令的幫助入口:
:help helptags上篇文章介紹了在vim中如何使用tag檔案,本文主要介紹如何使用taglist外掛程式(plugin)。:help taglist.txt
想必用過source insight的人都記得這樣乙個功能:si能夠把當前檔案中的巨集、全域性變數、函式等tag顯示在symbol視窗,用滑鼠點上述tag,就跳到該tag定義的位置;可以按字母序、該tag所屬的類或scope,以及該tag在檔案中出現的位置進行排序;如果切換到另外乙個檔案,symbol視窗更新顯示這個檔案中的tag。
在vim中的taglist外掛程式所實現的就是上述類似的功能,有些功能比si弱,有些功能比si更強。而且,taglist外掛程式還在不斷完善中!
要使用taglist plugin,必須滿足:
在文章vimrc初步中,我們使用了vim自帶的示例vimrc,這個vimrc中已經開啟了檔案型別檢測功能;在上篇文章中,我們也已用到了exuberant ctags;system()呼叫在一般的vim版本都會支援(suse linux發行版中出於安全考慮,關閉了此功能),所以我們已經滿足了這三個條件。
plugin/taglist.vim – taglist外掛程式注:doc/taglist.txt - taglist幫助檔案
windows使用者需要把這個外掛程式解壓在你的$vim/vimfiles或$home/vimfiles目錄。
使用下面的命令生成幫助標籤(下面的操作在vim中進行):
:helptags ~/.vim/doc生成幫助標籤後,你就可以用下面的命令檢視taglist的幫助了:
:help taglist.txttaglist提供了相當多的功能,我的vimrc中這樣配置:
""""""""""""""""""""""""""""""這樣配置後,當你輸入」:tlistopen" tag list (ctags)
""""""""""""""""""""""""""""""
if mysys() == "windows" "設定windows系統中ctags程式的位置
let tlist_ctags_cmd = 'ctags'
elseif mysys() == "linux" "設定linux系統中ctags程式的位置
let tlist_ctags_cmd = '/usr/bin/ctags'
endif
let tlist_show_one_file = 1 "不同時顯示多個檔案的tag,只顯示當前檔案的
let tlist_exit_onlywindow = 1 "如果taglist視窗是最後乙個視窗,則退出vim
let tlist_use_right_window = 1 "在右側視窗中顯示taglist視窗
「時,顯示如下視窗:
在螢幕右側出現的就是taglist視窗,你從中可以看到在main.c檔案中定義的所有tag:巨集、定義、變數、函式等;你也可以雙擊某個tag,跳到該tag定義的位置;你還可以把某一類的tag摺疊起來(使用了vim的折行功能),方便檢視,就像上圖中macro和variable那樣。更多的功能,請檢視taglist的幫助頁,本文也會介紹一些常用功能。
下面介紹常用的taglist配置選項,你可以根據自己的習慣進行配置:
在taglist視窗中,可以使用下面的快捷鍵:
跳到游標下tag所定義的位置,用滑鼠雙擊此tag功能也一樣可以用」:tlistopeno 在乙個新開啟的視窗中顯示游標下tag
顯示游標下tag的原型定義
u 更新taglist視窗中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist視窗放大和縮小,方便檢視較長的tag
+ 開啟乙個摺疊,同zo
- 將tag摺疊起來,同zc
* 開啟所有的摺疊,同zr
= 將所有tag摺疊起來,同zm
[[ 跳到前乙個檔案
]] 跳到後乙個檔案
q 關閉taglist視窗
顯示幫助
「開啟taglist視窗,用」:tlistclose
「關閉taglist視窗。或者使用」:tlisttoggle
「在開啟和關閉間切換。在我的vimrc中定義了下面的對映,使用鍵就可以開啟/關閉taglist視窗:
map :tlisttoggletaglist外掛程式還提供了很多命令,你甚至可以用這些命令建立乙個taglist的會話,然後在下次進入vim時載入此會話。
taglist外掛程式還可以與winmanager外掛程式協同使用,這將在下篇文章中介紹。
[參考文件]
vi vim使用高階
easwy 本系列文章,是原來我在csdn的easwy專欄撰寫的 使用vim開發軟體專案 系列。easwy的部落格搬家以後,就把csdn上的文章全部移到此處。寫本系列文章的最初想法,是介紹如何用vi vim開發軟體。但縱觀整個系列,講述的其實和軟體開發關係並不大,基本都在講vim的使用技巧 vim的...
Vi Vim的簡單使用
vim一些簡單命令 好吧,是我目前記得住的命令 從命令列模式轉入插入模式 a 在游標後插入 o 在當前行後插入乙個新行 o 在當前行前插入乙個新行 移動游標 在命令列模式下,按esc即可進入命令列模式 h 左移游標有乙個字元 l 右移游標乙個字元 k 游標上移一行 j 游標下移一行 0 數字零,到行...
vi vim 命令使用詳解
vi test.txt 或者 vim test.txt 或者 touch test.txt基本上 vi vim 共分為三種模式,分別是命令模式 command mode 輸入模式 insert mode 和底線命令模式 last line mode 1 命令模式 x,x x為向後刪除乙個字元,x為先...