案例库 · 软件与 IT · 技术决策 · 1978–1983
DEC的VT100让ANSI转义码成为终端标准,每个模拟器至今仍在讲这种语言
DEC于1978年推出的VT100实现了ANSI X3.64控制序列;今天的终端模拟器仍然是VT100的软件模拟。
Digital Equipment Corporation (DEC)
那一手
1978年,Digital Equipment Corporation推出了VT100,这种视频终端用键盘和屏幕取代了电传打字机。其用户指南明确说明了设计思路:终端遵循两个编程标准——ANSI和VT52——在ANSI模式下会“按照ANSI标准X3.41-1974和X3.64-1977生成和响应编码序列”。正是这个决定——采用公开标准而不是自创私有代码语言——让VT100的控制序列得以普及。
转义序列(即“ESC[”开头的命令,用于移动光标、清屏、设置属性、滚动等)成了程序与任何终端通信的事实标准。正如《The TTY Demystified》所述,20世纪70年代末的固态视频终端(如VT-100)让“复杂的光标移动、彩色输出和其他高级功能”成为可能;如今,物理终端已绝迹,人们运行的软件都是“模拟视频终端——真实终端的软件模拟”。
竞争对手和后续产品都沿用了同一套ANSI方言,而不是另起炉灶,Unix应用也默认了这套标准。VT100本身后来被DEC的后续终端取代,但它的控制序列始终是底线:每个现代终端模拟器——xterm、iTerm2、Windows Terminal——仍然在解析VT100风格的转义码。
为什么管用
- 采用ANSI标准让VT100代码成了通用的非专有语言。
- 为VT100编写的程序可在任何兼容终端上运行,而不局限于DEC产品。
- 模拟技术让这套方言在硬件消亡后仍然存活。
- 后续终端保持兼容,而不是发明新的私有代码。
可以搬走什么
把产品建立在公开标准上,而不是私有方言上:你的实现将成为人人效仿的参考,兼容性比硬件更长寿。
后来呢
VT100转义序列成了Unix和互联网的终端控制语言:xterm、screen、tmux、iTerm2、Windows Terminal以及无数代码库仍在生成和解析它们。VT100不只是作为一款产品被人铭记,更是作为标准的参考实现。
资料来源
发现哪里写错了?告诉我们。