VIM+ctags/cscope/taglist代码结构查看
Posted on9 年前, Last updated on9 年前by 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.soliphp.com/post/linux/vim-ctags-cscope-taglist-source-code-browser