Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192517
  • 博文数量: 111
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-07 07:46
文章分类

全部博文(111)

文章存档

2015年(2)

2014年(1)

2011年(1)

2010年(7)

2009年(100)

我的朋友

分类: LINUX

2009-08-10 08:42:35


转载时请注明出处和作者联系方式

文章出处:http://www.limodev.cn/blog
作者联系方式:李先静

刚开始用vi的人,常常抱怨vi的功能太小,用起来不够方便。仔细想一想,程序员常常号称是像狐狸一样懒惰的人,vi的作者们都世界级的顶尖程序员,他们自己是程序员,难道他们还不知道自己需要什么样的编辑器?

用vi的历史,算上在学校的时间,也有六七年光景了。大部分功能都用得比较熟练了,觉得够用就行了,对少数奇技淫巧也不肖一顾,也就没有再花过时间学习它的高级用法了。今天,从长生兄那里学了一招,可以直接跳到grep的结果里去,比较实用。

这件事情虽小,却对我有些触动,想了想,即使对自己熟悉的东西,闭目塞听只会使人停留在原处。借这个契机,总结一下一些有用的高级技巧吧。这些技巧,有的并不常用,时间一长,不用忘记了,要用的时间想不起来,要浪费时间去查资料,不如把它们记下来。

当然,这些并不是什么新东西,在网上都可以找得到的,只是我自己做个笔记罢了。

查看符号定义。Vi提供了像Win32下IDE那样的功能,可以很方便的查看函数原型、结构声明、宏的定义等。只是它的功能相比之下,要弱一些,不过,结合其它一些技巧,完全可以满足你的需要。使用这个功能,需要做一些设置:

1.安装ctags软件包。在安装光盘可以找到,也可以到网上下载源码包,自己编译。

2.生成tags文件。进入到你的源代码所在的目录,运行ctags -R命令,它会为当前目录及子目录下的源程序建立索引,并在当前目录下创建一个tags文件,里面保存的是符号索引信息。

3.设置tags路径。在vi的起动脚本文件中(一般是~/.vimrc),告诉vi在哪里可以找到tags文件,一般尽量用相对路径。如:set tags=./tags,../tags,../../tags,../../../tags

4.跳到指定的符号。 + ] 可以跳转到光标所在处的符号的符号的定义那里。

5.返回到原来的位置。 + t 或者 + o可以返回原来的位置。

查看系统函数的帮助。Vi也可以像VC那样,很方便的跳转到系统函数的帮助那里。原理很简单,在vi运行外部命令man就行了:!man fopen,这样做,可能会觉得有些麻烦,vi提供了快捷的方式: + k可以跳到光标所在处的符号的帮助那里。

自动定位编译错误处。在VC里,编译时,如果出现编译错误,双击错误信息,编辑器自动切换到出现错误的地方,是不是很方便呢?其实不用羡慕,vi也 有这种功能,在vi里,运行make命令后,如果有编译错误,你按一下回车,vi自动定位到第一个编译错误那里。记得,要用内置的make命令,即运 行:make,不是外部命令:!make。

自动定位查找结果。在写程序时,我们常常想知道,有哪些地方使用了某个函数,怎么办呢,你可以在shell里,用grep查找,然后打开对应的文件,可以看到相关的上下文信息。但这样做比较麻烦,Vi有个内置的grep命令,用起来很方便:

1.查找。用法和shell中的grep一致。

2.跳到第一个查找结果处。直接回车就行了。

3.列出所有的查找结果。:cl命令可以列出所有的查找结果,每个结果都有一个编号。

4.跳到某项查找结果的文件中。:cc <编号> 命令可以跳到指定编号查找结果的文件中,<编号>是前面用:cc列出来的编号。

5.返回到原来的位置。 + o 可以返回原来的位置。

阅读(1277) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

huwenhuo2009-08-14 22:37:40

不如再看一遍那个vim book. 看一如果已经看过的, 再浏览一次也就半天一天时间吧。

chinaunix网友2009-08-14 19:25:24

不如用VIM