1、ctags用法
ctags --list-languages 檢視支援語言
ctags --list-kinds檢視ctags可以識別的語法元素
ctags --list-maps 預設支援的副檔名
ctags -r: 生成tag檔案,-r表示也為子目錄中的檔案生成tags
:set tags=path -- 告訴ctags使用哪個tag檔案
:set tags=tags;
:set autochdir 兩個一起用,ctags自動尋找tags檔案,預設當前路徑,其次是父路徑,依次向上遞迴,tags後的冒號是必須有的
:tag xyz -- 跳到xyz的定義處,或者將游標放在xyz上按ctrl+],返回用ctrl+t nctrl+t 返回跳轉 n 次
:stag xyz -- 用分割的視窗顯示xyz的定義,或者ctrl+w ], 如果用ctrl+w n ],就會開啟乙個n行高的視窗
:ptag xyz -- 在預覽視窗中開啟xyz的定義,熱鍵是ctrl+w }。
:pclose -- 關閉預覽視窗。熱鍵是ctrl+w z。
:pedit abc.h -- 在預覽視窗中編輯abc.h
:psearch abc -- 搜尋當前檔案和當前檔案include的檔案,顯示包含abc的行。
:tag main --可以從開啟的檔案中跳到main函式處,即使開啟的檔案中沒有main函式(在別的檔案中也可以跳過去)
有時乙個tag可能有多個匹配,如函式過載,乙個函式名就會有多個匹配。 這種情況會先跳轉到第乙個匹配處。
:[n]tnext或tn -- 下一[n]個匹配。
:[n]tprev或tp -- 上一[n]個匹配。
:tfirst -- 第乙個匹配
:tlast -- 最後乙個匹配
:tselect tagname -- 開啟選擇列表
tab鍵補齊
:tag xyz-- 補齊以xyz開頭的tag名,繼續按tab鍵,會顯示其他的。
:tag /xyz-- 會用名字中含有xyz的tag名補全。
:tags -- 列出已經跳轉到過哪些tag了
:tag /^block查詢以block開頭的可能的tag
2、cscope用法
cscope -rbq: 生成cscope.out檔案
:cs add /path/to/cscope.out /your/work/dir
:cs find c func -- 查詢func在哪些地方被呼叫
:cw -- 開啟quickfix視窗檢視結果
3、gtags用法
gtags綜合了ctags和cscope的功能。 使用gtags之前,你需要安裝gnu gtags。 然後在工程目錄執行 gtags 。
:gtags funcname 定位到 funcname 的定義處。
:gtags -r funcname 查詢 funcname被引用的地方。
:gtags -s symbol 定位 symbol 出現的地方。
:gtags -g string goto string 出現的地方。 :gtags -gi string 忽略大小寫。
:gtags -f filename 顯示 filename 中的函式列表。 你可以用 :gtags -f % 顯示當前檔案。
:gtags -p pattern 顯示路徑中包含特定模式的檔案。 如 :gtags -p .h$ 顯示所有標頭檔案, :gtags -p /vm/ 顯示vm目錄下的檔案。
vim 的 tags 模組 與 ctags
一般來說,在 中跳轉,離不開 ctags。實際上,vim 中 跳轉是由 vim tags 模組完成的,tags 模組依賴於 tags 檔案。ctags generate tag files for source code 是產生 tags 檔案的。tags 檔案只包含了函式 類 變數的定義的資訊,而...
linux學習筆記11 vim用法2
實操專案 使用vim開啟.man.config檔案,設定顯示行號 vim man.config set nu 設定顯示行號 set nonu 設定不顯示行號移動到第58行行首,再向右移動30字元,移動到第8行行尾,再向左移動3單詞 58g 移動到58行行首 30l 向右移動移動30字元 8g 移動到...
vim學習筆記
首先安裝vim,接著進行最基本命令的聯絡。在命令列模式下輸入 vimtutor 會開啟乙個文件,按照文件上的步驟進行最基本的使用練習。1 檢視文件編碼 開啟乙個在windows下的文字時中文顯示亂碼,於是網上搜了一下,首先是檢視編碼 set fileencoding 2 查詢替換 s aaa bbb...