## 介紹
在windows上進行軟件開發,有很多的IDE可供選擇,像是source insight、vs等,非常方便好用。習慣于windows上的軟件開發,當轉到linux上后,沒有與windows環境類似、好用的IDE可用非常不便。 <br/>
vim+ctags可以很好的解決這個問題,并且支持語言多,就連verilog都可以實現模塊跳轉和變量跳轉。ctags主要功能是,掃描指定的源文件,找出其中所包含的語法元素,并將找到的相關內容存儲在tags文件中,用于在vim中查找。
<br/>
## 生成tags
ctags支持的語言很多,以下就自己經常使用的幾種語言生成tags做記錄。<br/>
* 項目類型
* verilog : **ctags -R**
* c++ : **ctags -R --c++-kinds=+px --fields=+iaS --extra=+q**
* c++-kinds 用于指定C++語言的 tags記錄類型
* c-kinds用于指定c語言的, 通用格式是 --{language}-kinds
* 指定源文件: **ctags filename.c filename1.c file.h**
* 指定.\* : **ctags \*.c \*.h**
生成tags后,將光標移動到需要查看的函數或者變量,使用快捷鍵 <C-]>將會跳轉到其定義的位置,使用快捷鍵 <C-t>返回跳轉之前的位置。
|常用命令|作用|
|-------|----|
| Ctrl + ] | 跳轉到光標所在變量、宏、函數的定義處 |
| Ctrl + T | 返回到跳轉前的位置 |
| Ctrl + W + ] | 分割當前窗口,并在新窗口中顯示跳轉到的定義 |
| Ctrl + O | 返回之前的位置 |
| :ts | 列出所有匹配的標簽 |