我是如何爱上vi的
Posted redguardtoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是如何爱上vi的相关的知识,希望对你有一定的参考价值。
我把vi作为我的主要编辑器有两个原因。
一个原因是我不能忍受ultraedit越来越慢的载入速度(我机器配置是256M内存,赛扬700)。
另一个原因是我读了一篇清华大学滇狐写的有关vi的电子文档后,vi的某个功能(后文会详述)打动了我。
我现在使用vi的水平应该算入门了。什么叫入门呢?我找了一些网上关于vi的电子书籍来看,基本上都能在半小时内看完。因为vi大多数功能我都很熟悉了,所以很多章节我看看目录就跳过去了。目前我对我自己使用vi的水平还是满意的.
下面我介绍一下我是怎么入门的,也许会对你有点启发。特别是如果你对于vi的hjkl有恐惧感的话(很可能。我曾经就是这样)
以我的经验来看,vi的入门实际上相当容易。网上有人声称“我使用vi将近20年了,但我还在学vi”,这只是一种夸张的表示vi强大的说法,并不表示vi难以学习。
我是从看vi自带的教程开始的,在linux环境下,一般有个名叫vimtutor的程序,这个程序是一篇极好的vi互动教程。看完这篇教程就基本上熟悉vi的基本操作了。这个过程大概要半小时到一小时。看完这篇教程,我对vi就不再有恐惧感了,这是这篇教程相对于网上其他教程的优点。附带说明一下,这篇教程有中文版。如果你在window上安装了最新的vim后,可以选择看中文教程。
然后我到vim online上看上面公布的vim tips(vim小技巧)。这些小技巧都被这个网站整理到一个文本文件里了。我把这个文本文件下载到我的硬盘上,如果遇到问题我就去查阅这个文件。由于这个文件是vi的用户的经验荟萃,我碰到的问题基本上都可以在其中很快地找到答案。这是这个文件优于vi在线帮助的地方。
我还使用google groups提供的新闻讨论组comp.editors,这个讨论族基本上已经被vi的用户占领了。有空我就到这个讨论组上看看。
tldp提供一些免费linux方面的电子书籍,我到上面找了些介绍shell操作的书籍看了看,以了解linux下常用的命令行文本处理工具,如awk,grep,sed,perl等等。之所以学习这些工具是因为vi可以方便地和这些工具集成使用。学习这些工具我不给自己设定硬指标,就是碰到了问题就到网上查查。好像不知不觉shell操作方面我也有了不小的进步。当然完整的电子书也是要读几本。
从只会使用vi的hjkl并且极端讨厌使用hjkl转变到非vi就不用,我大概花了两个月左右的时间。期间并没有刻意地吃大苦耐大劳,就是一个很轻松自然的过程。之所以比较轻松,可能和我对vi产生了兴趣有关。
现在说一下那个使我对vi产生强烈兴趣的小功能。在vi中输入cw,从当前光标开始删除一个词并自动进入输入模式,在输入模式中你输入要替换的词再按ESC,修改一个词的过程就结束了。不感冒?真正精采的操作在后面,继续按.键,重复前面的替换旧词为新词的操作!我发觉这个功能的时候正在改别人的旧代码,需要把无数行类似(但不相同)代码中的某个词改掉,这个功能对我来说真是救命的功能。上文中的cw中的c表示修改,w表示一个词。连在一起的意思就是修改一个词。
vi中许多功能通常用一个字母来完成。复杂的功能就是通过几个字母这样组合完成。例如,"c/"中c表示修改,/表示从当前光标向后查找。"c/"连在一起,vi会要求你输入要查找的字符。比如你输入<,vi就会修改(所谓修改类似于前面cw的修改,也可以使用.重复)从当前光标到后面的第一个<字符间的所有字符。如果你是要修改1000行asp代码的web程序员,你会为vi这个贴心的功被感动得哭泣。
以上是关于我是如何爱上vi的的主要内容,如果未能解决你的问题,请参考以下文章