73 if !exists('*system')
74 echomsg 'Taglist: Vim system() built-in function is not available. ' .
75 \ 'Plugin is not loaded.'
76 let loaded_taglist = 'no'
77 let &cpo = s:cpo_save
78 finish
79 endif
…………………………(这里省略了部分)
至此,这些工具便安装完成了!接下来就是使用了,这里以我之前调试的一个内存管理程序为例来说明Vim+Taglist+Ctags的使用过程。
进入源码所在的目录
sally@sally-desktop:~/linux实验$ cd map_driver/
使用ctags -R对该目录和所有子目录中的源代码建立符号数据库
sally@sally-desktop:~/linux实验/map_driver$ ctags -R
使用ls命令确认成功生成了名为tags的符号数据库
sally@sally-desktop:~/linux实验/map_driver$ ls -l tags
-rw-r--r-- 1 sally sally 2401 2010-07-20 20:59 tags
sally@sally-desktop:~/linux实验/map_driver$ vim map_driver.c
在命令行方式下输入::TlistToggle命令来打开索引:按住ctrl键,并且按两下W,即可在正常编辑区域和tags区域中切换。在tags区域中,把光标移动到变量、函数名称上,然后按下enter键,就会自动在正常编辑区域中定位到指定内容。
函数列表区显示的只是map_driver.c中的函数情况,在该文件中使用的在其他代码文件中的函数定义并没有显示出来。可以将光标停留的要查看的函数上,然后按“Ctrl+]”即可查看该函数的定义。查看完该函数的定义,按“Ctrl+O”可以跳回原文件。
74 echomsg 'Taglist: Vim system() built-in function is not available. ' .
75 \ 'Plugin is not loaded.'
76 let loaded_taglist = 'no'
77 let &cpo = s:cpo_save
78 finish
79 endif
…………………………(这里省略了部分)
至此,这些工具便安装完成了!接下来就是使用了,这里以我之前调试的一个内存管理程序为例来说明Vim+Taglist+Ctags的使用过程。
进入源码所在的目录
sally@sally-desktop:~/linux实验$ cd map_driver/
使用ctags -R对该目录和所有子目录中的源代码建立符号数据库
sally@sally-desktop:~/linux实验/map_driver$ ctags -R
使用ls命令确认成功生成了名为tags的符号数据库
sally@sally-desktop:~/linux实验/map_driver$ ls -l tags
-rw-r--r-- 1 sally sally 2401 2010-07-20 20:59 tags
sally@sally-desktop:~/linux实验/map_driver$ vim map_driver.c
在命令行方式下输入::TlistToggle命令来打开索引:按住ctrl键,并且按两下W,即可在正常编辑区域和tags区域中切换。在tags区域中,把光标移动到变量、函数名称上,然后按下enter键,就会自动在正常编辑区域中定位到指定内容。
函数列表区显示的只是map_driver.c中的函数情况,在该文件中使用的在其他代码文件中的函数定义并没有显示出来。可以将光标停留的要查看的函数上,然后按“Ctrl+]”即可查看该函数的定义。查看完该函数的定义,按“Ctrl+O”可以跳回原文件。