1.ctags
(1) 到http://sourceforge.net/projects/ctags/files/ctags/下载ctags源码ctags-5.8.tar.gz
(2) 解压并安装
tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure && make && make install
(3) 配置 ctags
[/home/brimmer/src]$ ctags -R *
"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列 表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
(4) 配置vim
我本机配置vim是针对全局的,所以修改/etc/vimrc文件,在文件最后添加下面内容:
set tags =/home /jing/src / tags
如果有多个tags文件则用逗号隔开(tags文件名可以相同)
(5) 使用
VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1) 用命令行。在运行vim的时候加上"-t"参数,例如:
[/home/jing/src]$ vim -t func
这个命令将打开定义"func"(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用":ta"命令,例如:
:ta func
3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。
在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。
2. taglist
能够列出源文件中的tag(function, class, variable, etc)并跳转.
注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!
(1) 到http://sourceforge.net/projects/vim-taglist/files/vim-taglist/ 下载taglist_45.zip
(2) 解压得到两个文件
# unzip -d taglist taglist_45.zip
# cd taglist
# tree
.
|-- doc
| `-- taglist.txt
`-- plugin
`-- taglist.vim
(3) 安装
cp doc/taglist.txt /usr/share/vim/vim70/doc/
cp plugin/taglist.vim /usr/share/vim/vim70/plugin/
(4) 配置和使用
cd /usr/share/vim/vim70/doc/
启动vim,用 “:helptags .”来配置好帮助文件
重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
可以用“:help taglist”来获得更多帮助信息
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fljing/archive/2011/03/15/6249657.aspx