更新于 2013-02-14 18:47:03 UEANER

目录结构

$ tree -C ~/.vim | grep -v ".cnx"

|-- doc
|   |-- taglist.cnx
|-- plugin
    |-- taglist.vim

1. ctags/cscope

ctags 用于生成 tags,cscope 用于查询变量及函数的定义位置。

a) 安装
# yum install ctags cscope
b) 生成tags

这里结合 ctags 和 cscope 写了一个生成 tags 的脚本 tags.sh:

#!/bin/bash
# tags.sh

find dir1 -name "*.php" > files.list
# find dir2 -name "*.php" >> files.list
cscope -bkq -i files.list
ctags -L files.list -f .tags

请根据实际情况对以上脚本进行修改,并确定 tags.sh 的存放位置。 你可以使用相对路径或绝对路径替换 dir1, 也可以打开 dir2 前的注释添加多个目录,依次类推。 我个人的 tags.sh 存放位置为:当前项目目录;dir1 采用相对路径。 另需要在 .vimrc 文件中配置 tags 路径:set tags=.tags

c) 使用

查看函数定义原型:光标置于要查看函数名称上,使用 Ctrl + ] 跳转到定义位置,使用 Ctrl + t 返回。 注:此时你的 vim 工作目录应该在 .tags 文件目录。

2. taglist插件

taglist 用来查看当前代码的结构视图。

a) 下载并安装

VIM 插件的安装方式就是将 plugin_name.vim 文件放到 ~/.vim/plugin//usr/share/vim/vim73/plugin/ 目录下, 二者的区别是:前者只供当前用户使用,而后者可以让系统所有用户使用。本文统一使用当前用户。

$ cd ~/.vim/plugin/
$ wget https://raw.github.com/vim-scripts/taglist.vim/master/plugin/taglist.vim

安装帮助文件:

$ cd ~/.vim/doc/
$ wget https://raw.github.com/vimcn/taglist.vim/master/doc/taglist.cnx

ESC 进入 vim 命令行模式,执行 :helptags ~/.vim/doc/ 生成 taglist 帮助文档。

注:以下插件将不再介绍帮助文件的安装,请根据情况自行安装。
b) 配置vimrc文件

VIM 的配置文件: ~/.vimrc/etc/vimrc 文件,二者产生的作用和 VIM 插件安装方式同理。

$ vi ~/.vimrc

加入以下代码:

" 禁止自动改变当前 vim 窗口的大小
let Tlist_Inc_Winwidth=0
" 把方法列表放在屏幕的右侧,这样使用 :vs 进行垂直分割时不会将 Taglist 窗口挤到中间
let Tlist_Use_Right_Window=1
" 让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间
let Tlist_File_Fold_Auto_Close=1
" 映射快捷键 F8 显示/隐藏 Tlist
nnoremap <silent> <F8> :TlistToggle<CR>

" 映射快捷键 F9 显示/隐藏 NERDTree
nnoremap <silent> <F9> :NERDTreeToggle<CR>

注:NERDTree VIM7.3 已自带,可以通过命令 tree /usr/share/vim/vimfiles/ | grep "nerdtree" 查看。

c) 使用
  • 使用1: :TlistOpen 打开结构视图,:TlistClose 关闭结构视图。
  • 使用2: :TlistToggle 打开结构视图,再输入一次则关闭结构视图。
  • 使用3:更方便的 F8 快捷键。
转载请注明出处。
本文地址:http://blog.aboutc.net/vim/3/vim-ctags-cscope-taglist-source-code-browser

评论:1

ueaner 2013-05-18 00:34:45
更正:VIM7.3 并未自带 NERDTree,只是某些系统安装完会带,如fedora.
关闭高亮高亮 分享到新浪微博分享到新浪微博