1. 程式人生 > 其它 >Windows環境下 Gvim 安裝 Vundle/Ctags/taglist

Windows環境下 Gvim 安裝 Vundle/Ctags/taglist

技術標籤:gitwindowsvim

目錄

一、安裝Vundle for Windows

1、安裝Git

2、安裝Curl

3、安裝Vundle

二、ctags下載與安裝

1、生成Tag檔案

2、程式碼的快速瀏覽

三、Taglist下載和安裝

1、在_vimrc中設定tagslist

2、taglist的配置與使用

四、網盤下載:包括:gvim81、ctags、taglist、git


一、安裝Vundle for Windows

1、安裝Git

1下載 Git for Windows installer

2 要配置PATH,以便於在任意地方都可以使用git程式

3通過命令檢查安裝是否就位

2、安裝Curl

拓展:cURL是一個利用URL語法在命令列下工作的檔案傳輸工具,1997年首次發行。它支援檔案上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用於程式開發的libcurl。

cURL支援的通訊協議有FTPFTPSHTTPHTTPSTFTPSFTPGopherSCPTelnet、DICT、FILELDAP、LDAPS、IMAPPOP3SMTPRTSP

curl還支援SSL認證、HTTP POST、HTTP PUT、FTP上傳, HTTP form based upload、proxies、HTTP/2、cookies、使用者名稱+密碼認證(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling

win10系統自帶Curl,檢查一下,如下所示

3、安裝Vundle

說明:Gvim on windows 是用配置檔案 _vimrc 代替了 .vimrc,用 vimfiles目錄 代替 .vim目錄。

1 配置$VIM環境變數,例如 $VIM = d:\Vim81

2 執行如下命令,從github將Vundle拷下來

git clone https://github.com/VundleVim/Vundle.vim.git $VIM/vimfiles/bundle/Vundle.vim,

3 配置_vimrc檔案

filetype off
set nocompatible 
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
call vundle#begin('$VIM/vimfiles/bundle')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Bundle 'taglist.vim'  

" All of your Plugins must be added before the following line
"
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

二、ctags下載與安裝

這個安裝非常簡單,在http://ctags.sourceforge.net/下載windows的版本ctags58.zip,但官網太慢,可以在CSDN中有各種下載
然後解壓出來,在Path裡新增.exe所在的路徑即可,或者就放在$VIM/Vim81下面和gvim.exe放在一起,這樣就可以免去配置PATH。

安裝完成後用":ctags -R"可以在目錄下生成tags檔案,記錄索引
ctag是一個工具,是專門用來生成tags檔案的(在原檔案目錄下),可以理解為為原始檔做各種標籤的工具檔案,生成tags檔案就具備了交叉檢視的能力,而taglist可以理解為是進一步方便使用tags檔案的Vim的外掛,故安不安裝taglist,用Vim自身都可實現檢視。

1、生成Tag檔案

命令:ctags -R –c++-kinds=+px –fields=+iaS –extra=+q
- R:ctags迴圈生成子目錄的tags
–c++-kinds=+px ctags記錄c++檔案中的函式宣告和各種外部和前向宣告
–fields=+iaS ctags要求描述的資訊,其中i表示如果有繼承,則標識出父類;a表示如果元素是類成員的話,要標明其呼叫許可權(即是public還是private);S表示如果是函式,則標識函式的signature。
–extra=+q 強制要求ctags做如下操作—如果某個語法元素是類的一個成員,ctags預設會給其記錄一行,可以要求ctags對同一個語法元素再記一行,這樣可以保證在VIM中多個同名函式可以通過路徑不同來區分。

2、程式碼的快速瀏覽

  • Ctrl + ]找到游標所在位置的標籤定義的地方,相當與查詢定義
  • Ctrl + T回到跳轉之前的識別符號。這裡只能回跳上“一步”,所以只能在當前識別符號和上一步的識別符號之間來回切換。
  • Ctrl + O注意這裡是字母“O”,這個命令和上面命令的區別在於可以一直向上回溯識別符號
  • Ctrl + [l查詢全域性識別符號. Vim會列出它所找出的匹配行,不僅在當前檔案內查詢,還會在所有的包含檔案中查詢。
  • Ctrl + [i從當前檔案起始位置開始查詢第一處包含游標所指識別符號的位置
  • Ctrl + i]類似上面的[i,但這裡是從游標當前位置開始往下搜尋。這個命令還挺常用的
  • [{ }] [( )] [/ /] 這幾個命令放在一起說,首先是[ ] 這類似一個定位區塊的命令,其作用是定位當前游標所處位置的區塊的兩端,{ } 代表要定位游標所處的{}的區塊, ) 代表定位游標所處的()區塊, / 跳轉游標所處位置的註釋的區塊的兩端,只對/*....*/ 風格的註釋有效
  • { 跳轉到上一個空行處
  • } 跳轉到下一個空行處
  • gd 跳轉到游標所處的識別符號的定義
  • * 轉到當前游標所指的識別符號下一次出現的地方。
  • # 轉到當前游標所指的識別符號上一次出現的地方。

三、Taglist下載和安裝

Taglist是vim的一個外掛,提供原始碼符號的結構化檢視。

1)從http://www.vim.org/scripts/script.php?script_id=273下載安裝包,也可以從http://vim-taglist.sourceforge.net/index.html下載。

2)進入$VIM/vimfile目錄,將Taglist安裝包解壓,將解壓後的plugin和doc目錄拷貝到$VIM/vimfile目錄。

3)在Vim下執行"help tags"命令,檢視taglist幫助。

1、在_vimrc中設定tagslist

“讓taglist窗口出現在Vim的左邊邊
let Tlist_Use_Left_Window = 1
“當同時顯示多個檔案中的tag時,設定為1,可使taglist只顯示當前檔案tag,其它檔案的tag都被摺疊起來。
let Tlist_File_Fold_Auto_Close = 1
“只顯示一個檔案中的tag,預設為顯示多個
let Tlist_Show_One_File = 1
“Tag的排序規則,以名字排序。預設是以在檔案中出現的順序排序
let Tlist_Sort_Type =’name’
“Taglist視窗開啟時,立刻切換為有焦點狀態
let Tlist_GainFocus_On_ToggleOpen = 1
“如果taglist視窗是最後一個視窗,則退出vim
let Tlist_Exit_OnlyWindow = 1
“設定窗體寬度為32,可以根據自己喜好設定
let Tlist_WinWidth = 32
設定ctags的位置,因為在前邊已經設定好路徑
let Tlist_Ctags_Cmd ='ctags'
“熱鍵設定,我設定成Leader+t來撥出和關閉Taglist
map <F2> :TlistToggle<CR>

2、taglist的配置與使用

taglist依賴ctags,所以需要安裝好ctags,並生成tag檔案,然後才可以使用taglist,如果沒有設定為vim啟動時自動開啟taglist,可以

  • 使用 “:TlistToggle” 在開啟和關閉間切換
  • 使用 “:TlistOpen” 開啟taglist視窗,用“:TlistClose”關閉taglist視窗。
  • 使用 “ctrl+w+w” 在正常編輯區域和tags區域中切換
  • 定位指定內容在tags區域中,把游標移動到變數、函式名稱上,然後敲回車(或者是雙擊某個tag),就會自動在正常編輯區域中定位到指定內容了。

  • 回車 跳到游標下tag所定義的位置,用滑鼠雙擊此tag功能也一樣

  • o 在一個新開啟的視窗中顯示游標下tag
  • 空格 (空格)顯示游標下的tag的原型定義
  • u 更新taglist視窗中的tag
  • s 更改排序方式,在按名字排序和按出現順序排序間切換
  • x taglist視窗放大和縮小,方便檢視較長的tag
  • + 開啟一個摺疊,同zo
  • - 將tag摺疊起來,同zc
  • * 開啟所有的摺疊,同zR
  • = 將所有tag摺疊起來,同zM
  • [[ 跳到前一個檔案
  • ]] 跳到後一個檔案
  • q 關閉taglist視窗

四、網盤下載:包括:gvim81、ctags、taglist、git

連結:https://pan.baidu.com/s/1KgbJ7QGlaK0gYmqncqwl1A
提取碼:8dix