程序员的编辑器神奇的VIM.pdf
文本预览下载声明
程序员的编辑器——VIM
dieken at newsmth dot net
yubao.liu at gmail dot com
首先请注意标题,我在介绍的是编辑器,不是IDE,所以如果想将VIM跟Visual Studio、
Eclipse等等比较时,请跟他们的编辑器比较。
一、VIM的历史
(1)ed
ed是UNIX上最古老最基本的编辑器,它最初是UNIX之父Ken Thompson编写的,
他第一次在ed中应用了正则表达式(regular expression),这个创举将RE理论带入了实践,
对UNIX界造成了深远的影响。 实际上ed是受来自加州伯克利大学的QED编辑器的影响,
Ken便是从所院校这里毕业的。
ed是一种行模式编辑器,下面是一个ed会话的例子:
$ ed greeting
0 # 因为新创建文件,所以读入了0个字节
a # 进入编辑模式(append)
hello world, eveyone. # 输入一行文本
# 回到命令模式
1p # 显示(print)第一行
hello world, eveyone.
1c # 最后一个词写错了, 修改(change)第一行
hello world, everyone.
# 回到命令模式
1p # 重新显示第一行, 这回发现无误
hello world, everyone.
q # 退出(quit)
? # ?表示没有保存或者命令不认识
w # 保存(write)
23 # 提示写了23个字节
q # 退出
也许大家觉得这个编辑器比较BT, 可是在70年代, 许多使用UNIX的人都是用廉价
的终端机通过电话线连到UNIX服务器上的, 因为传输速率慢, 所以这种简洁的行模式编辑
就很有意义, 现在虽然硬件有了长足的发展, ed编辑器很少有人用了, 但是它的很多理念
比如命令字符、正则表达式却在它的很多后辈身上体现出来。下面这个网址有一些ed的笑
话,从中我们或多或少能体会到那个时代人们的某种精神。
/fun/jokes/ed.msg.html
GNU ed: /software/ed/ed.html
Reference: /wiki/ed
/learn/nlc/ed.html
/cm/cs/who/dmr/qed.html
/topic/ken-thompson
(2)ex
ex是ed的扩展,实际上vi构建在ex之上, vi引入了现在我们所熟悉的全屏编辑模式。
1/10
(3)vi
随着硬件的发展,UNIX上许多全屏模式编辑器被开发出来,pico, nano, joe, jed,
jove, 但是最为广泛使用的无疑就是VI(nvi, elvis, vim等)和Emacs(GNU Emacs, XEmacs等)。
1976年左右Bill Joy开发了vi,他也是伯克利大学的毕业生,后来他跟其他人一起
成立了Sun Microsystems公司并成为了Sun的首席科学家。一开始Bill开发了ex, 尔后开
发了vi作为ex的visual interface, 也就是说vi允许一次能看到一屏的文本而非一行, vi
也因此得名。在当今的UNIX系统上,可能没有缺省安装Emacs,但是肯定会有vi,当然,ed
编辑器也必定存在:-)
Reference: /vi/history.html
http://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/
显示全部