## 介绍
在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 | 列出所有匹配的标签 |