世界第二的功能强大的编辑利器VIM - 电脑工作室 - 电脑技术交流 - 天空竞技场
发新话题
打印

[推荐] 世界第二的功能强大的编辑利器VIM

世界第二的功能强大的编辑利器VIM

005年5月,笔者开始用VIM。此后渐入佳境,原来因版权自律而放弃盗版UltraEdit的遗憾一扫而空。从VIM中笔者才体会到,什么才是真正的编辑利器。

  在善用佳软或其他论坛发文,笔者都是先在VIM中输入,并方便高效地编辑好格式,再贴到网上。而笔者的通讯录、记事、读书笔记、工作记录也是在VIM中完成的。包括一些文档、数据的处理,让VIM过一下,也会提高不少效率。

  一句话,自用VIM以来,对它迷恋日深,几乎要超过Total Commander。但是,正如善用佳软及论坛发文所提,笔者大力推荐“用IrfanView/XnView代替ACDSee、用7-zip代替 WinRar/WinZip、用GIMP代替PhotoShop”,但并未推荐VIM代替UltraEdit。这并不意味着VIM不能胜任,恰恰相反,如果说IrfanView等替代品比原共享软件还有些差距的话,VIM则远胜UltraEdit。不推荐的唯一原因是,VIM对初学者有点难。

  今天仍写了此文推荐给大家。原因有二:

  其一,编辑选定了题目,要向大众宣讲VIM和Emacs,这种勇气鼓舞了笔者。
因此本文内容有二:

  一是帮新手体验VIM。这部分有些象实验教程,多用实例,且行文风格尽量傻瓜化,以便于新手(包括以前从未听说过VIM)可以照笔者的操作,一步步体验VIM。

  二是介绍笔者的应用,即VIM如何便利笔者的日常工作和生活,而非编程。

一、对VIM的基本介绍

  一句话介绍就是:VIM是一个超级超级强大的文本编辑器。它和Emacs是一个数量级;而笔者认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。如果你有兴趣,不妨一读
强烈推荐程序员使用编辑器VIM
http://www.lucky8k.com/thread-5790-1-1.html
以便于对VIM有更详尽全面的理论认识。

  要点1:VIM及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展,值得信赖。

  要点2:VIM有模式。通俗地做一下对比。notepad无模式(或称为只有一种编辑模式)。

  你按下j,就是在正文中输入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠标。(注:英文冒号,本文所有命令均为英文状态下的字符。)

  而在VIM中,打开一个文件后,并不处在编辑模式,而是Normal模式,此时你按j,VIM并不认为你要在正文中输入j,而是代表光标下移一行。此时按i表示进入insert模式,即编辑模式,即notepad的模式。

  编辑模式按Esc退回normal模式。normal模式下按 : 进入命令行模式,用于输入较复杂的命令。比如 :w 代表保存文件,:e a.txt 代表打开文件 a.txt 。即VIM可以不用鼠标、方向键、菜单、Ctrl、alt……发出命令。

  因此,以下的体验中切记进入正确的模式:Esc到Normal;Normal下i到编辑;Normal下 : 到命令行。再说明一点是:文中:打头的是命令行模式,此外多数Normal模式。

  要点3:复杂对抗复杂。VIM有的命令行很吓人,长长一串字符恍若天书。这些貌似复杂,实际上无非是一些简单命令的组合而已。借助于此,VIM用户可以实现非常复杂的需求。如果你没有这样的需求,就无须理会它们。

  要点4:一能百能。这一点是Unix或命令行风格软件的显著长处,经过实用可以深刻体会。本文尽管有一些例子,但它运用之妙,存乎一心的感觉,仍未能充分展示。

  这里先打个比方,如果windows下某软件号称能炒菜,那意味着你点一下菜单,菜就做好了——这就是易用哲学。到底怎么做,你是没有多少发言权的,而是由软件开发者固化。

  而如果VIM说能,那它就是有一个“炒菜”命令,你可以把这个命令与原有的“原料、数量、火候、风味、灶具”命令结合在一起用,甚至在它前面加上“买菜、洗菜”,后面加上“装盘、洗碗”做成一个自动脚本,在合适的情况下自动执行。

  要点5:无限灵活,个性由我。你只要有具体需求,VIM几乎都能满足。因此不同人的VIM是不一样的,即,把下载来的VIM配置成自己的VIM。

  就此打住,开始体验之旅吧!

TOP

二、下载和安装

ftp://ftp.vim.org/pub/vim/pc/gvim70.exe
官方下载速度较慢。
VIM是跨平台的。在Windows下,笔者用的是gVIM for windows版。最新的是7.0版,下载包约8MB,完全安装后约20MB。

  注:体积太大?你如果是高手,完全可以把不用的文件删除(包括帮助文件,它是笔者见过的软件中最好的帮助),精简后的体积可以不到2MB。或反之,仅下载一个 gVIM.exe(1.5MB)就能运行。但对于这次体验,鉴于第一次使用,建议全部按默认项安装,这样才能达到文中预想的结果。

  安装,基本上,一直Agree、Next就行了。笔者通常是装在d:\program files\VIM下。

  安装过程,请参见图1到8。



图1

图2

图3

图4

图5

图6

图7

图8
三、体验之旅
  3.1 初见界面
  安装完成后,按提示打开readme,你将看到如图9。

图9
  或自行打开桌面的快捷方式,也可直接运行d:\program files\VIM\VIM70\gVIM.exe,你应该看到如图10的界面:

图10
  什么?难看?土?xbeta第一次见到它也是这种感觉,现在却只觉得亲切。
  再一点,你有没有奇怪它是中文界面?难道笔者给你下载的是汉化版?会不会捆绑流氓插件啊?你如果真这样想,笔者只能叹息无语了。
3.2 试读html
  请把此网页保存为htm,比如test.htm,然后用VIM打开它。暂时用菜单吧!结果可能如图11:

图11
  平平无奇,是吧?因为它是一个标准的VIM,并且是性能优先,视效忽略的VIM。无妨,请进入命令行模式(就是按一下冒号,注意是英文冒号:),注意到最下面一行的变化了吧。再输入sy on再回车。是不是有颜色了?它应该看起来象这个样子,图12。

图12
  重要提醒:为简化起见,下文将用“:sy on”表示(先确认在Normal模式,如不确认,请按几次Esc)你先按:进入命令行模式,再输入sy on,再回车。
  补充说明:sy表示语法加亮,on当然是打开。:sy clear表示取消加亮。
  3.3 改头换面
  体验VIM就要按VIM的思路,所以要把gVIM改回VIM的本来面目。
  对了,如果你认为它的界面很土,请更要多看一眼当前的样子,因为下面的操作后可能会更土!
  执行命令
  :set go=
  这时的VIM应该是如下图13。

图13
  不要大惊小怪,不就是菜单和工具栏不见了嘛?VIM中是不应该用到它们的。
  补充说明:set表示一般性设置;go是gui option的缩写,就是界面;等于空就是什么都没有。再输入半条命令(先不要回车)。
  :colo ev
  然后,按一下tab键。是不是自动补全为evening了?VIM是非常聪明的(但是不会象MS Word那样自做聪明)。
  然后你回车,看到了什么?图14

图14
  天色全黑了?没错,现在是evening嘛。
  补充说明:colo就是设置调色方案。VIM自带了近十种调色方案,当然你还可以在网上下载更多,或改编自己的调色方案。你可以直接在:colo (加一个空格)就连续tab,选择不同的配色方案来体验一下。当然,evening是比较经典的一种。笔者一直用它。

3.4 准备并打开范例文件
  简化起见,请下载test.txt并保存为d:\test.txt。然后,在VIM中输入半条命令
  :tabnew d:\t
  输到这里后不要回车,按一下tab,VIM会自动补全为test.txt的。如果不对,再按几次tab,直到正确为止。然后回车。

图15
  你会看到VIM打开了test.txt,并且是以多页签(tab page)的方式。你可以点击各页签在打开的文件中间切换(高手有更方便的键盘命令做法)。在VIM6.3中,还没有此功能。当然了,这并不意味着VIM 的用户没办法享受多页签的便利,下载一个插件后--VIM有上千个插件--就可以了。面对多页签风格的流行(IE6→Maxthon→IE7), VIM7.0也新增了此功能。
  笔者喜欢这种简单的页签。如果你认为此页签太难看,可试一下
  :set go=e
  这时应如图16所示:

图16

TOP

UltraEdit-32
我还是用这个,呵呵

TOP

发新话题