vi vim使用高階 使用taglist外掛程式

2021-06-16 23:08:46 字數 2550 閱讀 7947

本節所用命令的幫助入口:

:help helptags

:help taglist.txt

上篇文章介紹了在vim中如何使用tag檔案,本文主要介紹如何使用taglist外掛程式(plugin)。

想必用過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.txt
taglist提供了相當多的功能,我的vimrc中這樣配置:

""""""""""""""""""""""""""""""

" 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視窗

這樣配置後,當你輸入」:tlistopen

「時,顯示如下視窗:

在螢幕右側出現的就是taglist視窗,你從中可以看到在main.c檔案中定義的所有tag:巨集、定義、變數、函式等;你也可以雙擊某個tag,跳到該tag定義的位置;你還可以把某一類的tag摺疊起來(使用了vim的折行功能),方便檢視,就像上圖中macro和variable那樣。更多的功能,請檢視taglist的幫助頁,本文也會介紹一些常用功能。

下面介紹常用的taglist配置選項,你可以根據自己的習慣進行配置:

在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中定義了下面的對映,使用鍵就可以開啟/關閉taglist視窗:

map :tlisttoggle
taglist外掛程式還提供了很多命令,你甚至可以用這些命令建立乙個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為先...