vim的基本操作 ctags

2021-09-26 22:38:30 字數 1681 閱讀 5650

1、ctags -r

【生成tags檔案】

安裝成功後,要為原始碼檔案生成tags檔案,才可享受ctags為閱讀**帶來的便利。

$ ctags -r

遞迴的為當前目錄及子目錄下的所有**檔案生成tags檔案

為某些原始碼生成tags檔案,使用如下命令

$ ctags filename.c filename1.c file.h 

或$ ctags *.c *.h

為了使得字段補全有效,在生成tags時需要一些額外的引數,推薦的c++引數主要是:

ctags -r --c++-kinds=+px --fields=+ias --extra=+q

其中:選項c++-kinds 用於指定c++語言的 tags記錄型別,  --c-kinds用於指定c語言的,  通用格式是  ---kinds

選項 fileds 用於指定每條標記的擴充套件字段域

extra 選項用於增加額外的條目:   f表示為每個檔案增加乙個條目,  q為每個類增加乙個條目

【使用方法】

在vim開啟原始碼時,指定tags檔案,才可正常使用,通常手動指定,在vim命令列輸入:

:set tags=./tags(當前路徑下的tags檔案)

若要引用多個不同目錄的tags檔案,可以用逗號隔開

或者,設定 ~/.vimrc,加入一行,則不用手動設定tags路徑:

set tags=~/path/tags

若要加入系統函式或全域性變數的tag標籤,則需執行:

ctags -i __throw –file-scope=yes –langmap=c:+.h –languages=c,c++ –links=yes –c-kinds=+p --fields=+s -r -f ~/.vim/systags /usr/include /usr/local/include

並且在~/.vimrc中新增(亦可用上面描述的手動加入的方式):

set tags+=~/.vim/systags

這樣,便可以享受系統庫函式名補全、原型預覽等功能了。

如果經常在不同工程裡查閱**,那麼可以在~/.vimrc中新增:

set tags=tags;

set autochdir

設定好了tags檔案,在定位變數/函式的定義時,最常用的快捷鍵是:

ctrl + ]

跳轉到變數或函式的定義處,或者用命令

:ta name

而使用快捷組合鍵

ctrl + o/t 

返回到跳轉前的位置。

另外,ctags不會生成區域性變數的索引,不過可以使用gd組合鍵(對游標所在處的word進行快捷查詢定位)來定位,也是相當快捷的。

$ vim -t myadd

用vim開啟檔案時,新增引數-t funcname會自動開啟定義該函式的檔案並定位到定義首行,上面這句就是找到myadd定義的檔案開啟並將游標置於定義的第一行處。

:tags 

會列出查詢/跳轉過程(經過的標籤列表)

另外,附上vim環境中其他較為好用的快捷鍵:

* 定位至當前光游標所指單詞的下一次出現的地方

# 定位至當前光游標所指單詞的上一次出現的地方

n 定位至跳至已被標記出的單詞下一次出現的地方

shift+n 定位至跳至已被標記出的單詞上一次出現的地方

關於更詳細的ctags用法,vim中使用

:help tags

VIm的ctags外掛程式安裝

接觸了一段時間vim,感覺vim真的很強大,完全的私人定製的感覺。它的強大也就注定了它上手慢,學習時間長的特點。單是它的指令都得熟悉一陣子。vim強大之處在於它的外掛程式擴充套件,這得益於開源的精神,強大的使用者總是能設計出各種強大的外掛程式來滿足你的需求,這樣就將vim可以打造成功能上完全不輸於整...

vim及ctags的使用

0.vim的配置檔案 在使用者目錄下 新建檔案.vimrc,儲存即可生效。如果想所有使用者生效,請修改 etc vimrc 建議先cp乙份 1.vim hello.c 在當前目錄下建立hello.c檔案,並進入vim的一般模式,一般模式下不能插入,可以複製 貼上 刪除。按下i a或o按鍵,進入插入模...

vim 的基本操作

vim 的查詢,恢復,替換 查詢 命令列輸入 word 或?word n 下乙個 n 上乙個 vim 恢復 u 向前恢復 ctrl u 向後恢復 vim替換 s old new 替換游標所在行的第乙個 s old new g 替換游標所在行的所有 s old new g 替換 到 之間所有old s...