Monday, September 29, 2008

来自编辑器的感悟

很久没有在校内写东西了,来涂鸦一下,说说今天的感想。(自我感觉内容还是比较超值的,其中会包含一些技术词汇,但是它们不影响主旨,而且我相信不了解的话应该不影响阅读)

===== 引子 =====

今 天很奢侈的浪费了一天企图寻找一个合适的文本编辑器(作者注:文本编辑器是一种用来编写无格式字符文件的软件,最常见的例子就是Windows上的记事 本),因为昨天终于成功的申请到了GAE,兴冲冲的跑去看官方的教学录像。一个工程师gg演示了如何建立一个最简单的留言板程序。可是我看了半天完全没注 意他写的内容,只看到他用的文本编辑器好智能,好漂亮,好强大,好让我口水……后来定格了他切换程序时的画面,原来他用了一个叫做TextMate的文本 编辑器,可是这是个Mac独享的软件:(

在网上搜索的时候看到一个人在blog里说为了用上TextMate这么一个需要四十美刀注册的文本编辑器(注意,在这里想想我们的记事本),专门花了一千美刀买了一台Mac电脑。这让我有了好多感慨——

===== (一)总有创新的地方 =====

在 TextMate之前,这个世界上就已经有了很多的文本编辑器了,从Windows上不要钱的记事本到传奇的Vi和(X)Emacs,即使是在Mac平台 上也有老牌的BBEdit,单单是我知道且能够不费力气在纸上列出名字的文本编辑器就有二十多种。就在这么一个小小的领域,TextMate还是一出现就 凭着它优秀的自动补全设计让人如梦如醉如痴迷。
所以不该再感叹为啥当年苹果砸了牛顿的头而不是直到今天才砸到自己的头。不要说这个世界上已经有了 好多的xxx,所以再做xxx是不可能的了。一个以前没人做过的市场似乎更容易霸占,可是有时候一个创新就可以把所有的前浪送到沙滩上。而在这样一个人类 知识飞涨的时代,想出一个别人没有想过的东西很困难,想出一个全新的做事的方式更困难,但是这并不意味着不可能。

===== (二)细节决定结果 ======

说了这么多TextMate如何迷人,或许即使对技术没有多大兴趣的人都有点想知道她到底有什么特别了,其实很简单,仅仅是她的tab键很智能。比如我在html文件中输入head再按一下tab键就会得到这么一大堆东西:
<head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-type"></meta>
  <title></title>
</head>
看 到这里,即使你不知道上面都是些啥东西也知道为什么我爱她了,她太聪明了,把我本来要敲半分钟的东西瞬间搞定了。在TextMate之前没有一个这样的软 件,使用这么简单的tab键完成如此有效率的自动补全,在未来也许会有,可是它还没有出现。就是这样一个细节的功能成就了一个伟大的编辑器。

===== (三)不要过早的下结论 =====

看到这里可能大家都觉得这几乎是一片TextMate的枪文了,呵呵,那么你错了,今天关于编辑器的故事还有一个主角没有登场呢,而现在才是说起他的时候。
他是VIM。
我 没有把任何形容词放在这个编辑器(对,就是那个两个月前我在blog里面抱怨编辑器)的名字前面,因为我找不到这样一个词。在我苦苦寻找的时候,有人告诉 我VIM有个插件能够实现“类似”的功能,此时已经不抱什么希望的我装上了这个插件。打开一个html文件,输入head,按下tab——奇迹发生了,一 个智能程度丝毫不输于TextMate的补全让我的心跳速度瞬间飙升一倍。
就是这么简单,不需要四处搜索,不需要更换电脑,不需要花费一分钱,一个这些天天天面对的东西,就在这一瞬间,如同蜘蛛侠穿上了他红色的外套一般让人认不出来了。有太多习以为常的东西和人被忽略,有太多“理所当然”的结论来得过于匆匆。

===== (四)海纳百川 =====

十七年前,连Windows95都没有诞生的时候,256色的字符显示器还很常见的时候,VIM就诞生了。而与他十分相似的他的老爹——vi编辑器——早在1976年就已经出现了。是什么让一个软件32年薪火不灭,至今仍被我等geek歌颂与崇拜?
可不断演进的能力。
VIM可以装上许多根本想象不到的插件(比如上面提到的snippets插件)从而吸收各种编辑器的好处,他可以学习一切新的东西,因此他不会过时;电脑的硬件性能,软件使用的方式,操作系统的环境无一不在剧变,而VIM通过不断的学习补充顽强而成功的活到了现在。
做人当如VIM。

2 comments:

Anonymous said...

要做创造vim的人,
不要做使用vim的人。

Yuanjie said...

这个要求好高啊……
我在一瞬间动过自己写一个比他们都好的编辑器的想法,然后这个想法就消失在了课业和一堆胡思乱想之中……

Post a Comment