Chinaunix首页 | 论坛 | 博客
  • 博客访问: 943467
  • 博文数量: 276
  • 博客积分: 4182
  • 博客等级: 上校
  • 技术积分: 4486
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 21:14
文章分类

全部博文(276)

文章存档

2014年(9)

2013年(132)

2012年(135)

分类: 系统运维

2013-06-26 10:54:25

1.生成tags文件

$ cd /home/wooin/vim71
$ ctags -R
此时在/home/wooin/vim71目录下会生成一个 tags 文件, 现在用vim打开 /home/wooin/vim71/src/main.c
$ vim /home/wooin/vim71/src/main.c

2. 再在vim中运行命令:
:set tags=/home/wooin/vim71/tags

3.设置vimrc
首先请先在你的~/.vimrc文件中添加下面两句:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

4.在vim中用下面的命令打开taglist窗口
:Tlist

5.打开帮助文档vim中
:help taglist


二.WinManager

netrw.vim插件的一些命令
 

   显示帮助
    如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件
-    返回上级目录
c    切换vim 当前工作目录正在浏览的目录
d    创建目录
D    删除目录或文件
i    切换显示方式
R    文件或目录重命名
s    选择排序方式
x    定制浏览方式, 使用你指定的程序打开该文件

1.设置vimrc
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle

2.vim中查看帮助文档
:help winmanager

3.vim中使用文件浏览
:WMToggle

三.Cscope使用
1.设置vimrc
:set cscopequickfix=s-,c-,d-,i-,t-,e-

2.生成cscope数据库文件
$ cd /home/wooin/vim71/
$ cscope -Rbq


3.添加cs到vim编译器
:cs add /home/wooin/vim71/cscope.out /home/wooin/vim71

4.在vim中使用cscope
:cs find g vim_strsave 查找定义

:cs find c vim_strsave 查找调用

:cw打开quickFix窗口





cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name
0 或 s     查找本 C 符号(可以跳过注释)
1 或 g     查找本定义
2 或 d     查找本函数调用的函数
3 或 c     查找调用本函数的函数
4 或 t     查找本字符串
6 或 e     查找本 egrep 模式
7 或 f     查找本文件
8 或 i     查找包含本文件的文件

如果每次查找都要输入一长串命令的话还真是件讨人厌的事情, Cscope的帮助手册中推荐了一些快捷键的用法, 下面是其中一组, 也是我用的, 将下面的内容添加到~/.vimrc中, 并重启vim:
nmap s :cs find s =expand("")
nmap g :cs find g =expand("")
nmap c :cs find c =expand("")
nmap t :cs find t =expand("")
nmap e :cs find e =expand("")
nmap f :cs find f =expand("")
nmap i :cs find i ^=expand("")$
nmap d :cs find d =expand("")
当光标停在某个你要查找的词上时, 按下g, 就是查找该对象的定义, 其他的同理.
按这种组合键有一点技巧,按了后要马上按下一个键,否则屏幕一闪就回到nomal状态了
g的按法是先按"Ctrl+Shift+-", 然后很快再按"g"

很奇怪, 其中的这句:
nmap i :cs find i ^=expand("")$
在我的vim中无法工作, 但是我改成:
nmap i :cs find i =expand("")
就可以正常工作了, 不知道是什么原因? 有哪位朋友知道请告诉我.

cscope的其他功能你可以通过帮助手册自己慢慢学习

reset : 重新初始化所有连接。
用法  : cs reset
阅读(1951) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~