ctags--vim中代码间快速跳转
1、说明
在Linux环境下使用vim进行驱动程序编写和维护的时候,会经常需要调用Linux内核的函数或宏定义,在驱动程序和kernel代码之间频繁跳转是件很繁琐的事,使用ctags包可以轻松实现函数或宏定义的跳转。
在Linux环境下使用vim进行驱动程序编写和维护的时候,会经常需要调用Linux内核的函数或宏定义,在驱动程序和kernel代码之间频繁跳转是件很繁琐的事,使用ctags包可以轻松实现函数或宏定义的跳转。
2、配置方法
假设:系统中已经安装ctags。
假设:系统中已经安装ctags。
举例:
以在Linux内核代码linux-3.5创建tags为例,建议先将linux-3.5内核代码编译通过,因为打上ctags包之后,再进行编译或者修改会破坏ctags环境,需要重新打ctags;内核代码不进行编译也可以正常实现代码间的跳转使用。
在程序项目主目录(想实现代码间跳转的目录),例如/home/kernel/linux-3.5/:
#cd /home/kernel/linux-3.5
#ctags -R
运行后,在/home/kernel/linux-3.5/目录下会生成一个tags文件。
将tags包设置为全局:
在Redhat系统下:
#vim /etc/vimrc
在Ubuntu系统下:
#vim /etc/vim/vimrc
在vimrc文件末行添加:
set tags+=/home/kernel/linux-3.5/tags
注意:
必须使用“+=”,并且两边不能有空格。
不需要重新启动电脑,只需要将vim已经打开的文件关掉并重新打开,就可以实现程序代码带内核代码之间的跳转。
要想实现自己编写的多个程序文件之间,或者单个文件内不同地方的函数之间的跳转,也可以用ctags实现,方法同上,举例如下:
假如:正在编写的驱动程序代码为/home/helloworld/。
#cd /home/helloworld
#ctags -R
在/home/helloworld/目录下会生成一个tags文件。
将tags包设置为全局:
在Redhat系统下:
#vim /etc/vimrc
在Ubuntu系统下:
#vim /etc/vim/vimrc
在vimrc文件末行添加:
set tags+=/home/helloworld/tags
同样不需要重新启动电脑,只需要将vim已经打开的文件关掉并重新打开,就可以实现程序代码带内核代码之间的跳转。
3、使用方法
Ctrl + ]
Ctrl + o
在Linux环境下任意目录下的程序文件里的函数,要实现跳转到kernel代码进行查看,只需要将vim光标移动到函数名或宏定义名称上,使用快捷键“Ctrl+]”,即可跳转到kernel中的函数或宏定义的地方进行查看,有多个要跳转的路径时会在vim下边出现几行选项,直接输入数字加回车可以进行对应的函数或宏定义选择;要想返回上一级函数或宏定义,只需要使用快捷键“Ctrl+o”,即可跳会上次的查看的函数。