關於vim,ctags的乙個小技巧

2021-05-26 06:18:33 字數 707 閱讀 9244

vim可以使用ctags製作的tags檔案來瀏覽程式原始檔。問題是,當原始檔存放在目錄樹(也就是所謂的source tree)的時候,該怎麼辦呢?

在預設情況下,ctags只會處理當前目錄裡的原始檔,而且vim也只會參考當前目錄的tags檔案。這時候,如果當前目錄裡的原始檔引用了其他目錄裡的定義,那麼vim就無法利用tags檔案自動跳轉了。解決這個問題主要依靠兩個技巧:

一,在目錄樹的根目錄裡,使用命令:

ctags -r 或 ctags --recurse

這兩個命令應該是等效的,但是在我目前使用的ctags(版本5.5.4),ctags -r似乎無效。--recurse引數會讓ctags遍歷整個目錄樹,分析所有子目錄裡的檔案。最後形成的tags檔案會放在根目錄裡。

how to use with vi

vi 預設的期望當前工作目錄中有乙個名為 "tags" 的標籤檔案。一旦生成了標籤檔案,下面的命令執行

按標籤索引的特性:

vi -t tag  

啟動 vi 並且把游標定位在 "tag" 定義所在的檔案和行上。

:ta tag    

查詢乙個標籤。

ctrl-]     

查詢游標下的標籤

ctrl-t     

返回跳轉到標籤前的前一次位置 (不是所有實現都支援)。

關於vim,ctags的乙個小技巧

關於vim,ctags的乙個小技巧 vim可以使用ctags製作的tags檔案來瀏覽程式原始檔。問題是,當原始檔存放在目錄樹 也就是所謂的source tree 的時候,該怎麼辦呢?在預設情況下,ctags只會處理當前目錄裡的原始檔,而且vim也只會參考當前目錄的tags檔案。這時候,如果當前目錄裡...

VIM ctags的乙個小技巧

vim可以使用ctags製作的tags檔案來瀏覽程式原始檔。問題是,當原始檔存放在目錄樹 也就是所謂的source tree 的時候,該怎麼辦呢?在預設情況下,ctags只會處理當前目錄裡的原始檔,而且vim也只會參考當前目錄的tags檔案。這時候,如果當前目錄裡的原始檔引用了其他目錄裡的定義,那麼...

乙個關於博士的小故事

下面是我看到的乙個小故事,也許已經很舊了,但是很有教育意義,覺得不錯就發上來了。有乙個博士分到一家研究所,成為學歷最高的乙個人。有一天他到單位後面的小池塘去釣魚,正好正副所長在他的一左一右,也在釣魚。他只是微微點了點頭,這兩個本科生,有啥好聊的呢?不一會兒,正所長放下釣竿,伸伸懶腰,蹭蹭蹭從水面上如...