为什么 vim 和 less 有如此相似的键绑定?

为什么 vim 和 less 有如此相似的键绑定?

他们是否共享代码,还是这只是传统?还有其他程序具有类似的键绑定吗?

答案1

简而言之,它们的共同历史根源在于vi。它们的创建者都是早期 Unix 程序的用户vi

下面是一个粗略的图表,可以直观地了解它们的初始发布日期和影响力:

vi 1976
 | \      more 1978
 |  \     /
 |   \   /
 |     v
 |   less 1983
 v
vim 1991

资料来源:

Vim

Vim,由 Bram Moolenaar 编写,是一个Unix 程序的克隆vi。在 vim 中你可以查看帮助介绍::help intro, 你看:

Vim 是一个文本编辑器,它包含 Unix 程序“Vi”的几乎所有命令和......

较少的

而创作者lessMark Nudelman 则解释道他的常见问题解答

1983 年,我在一家现已倒闭的 Integrated Office Systems 公司工作。我们的一些软件在 Unix 系统上运行,并生成了大量交易日志文件。我们希望能够在这些日志文件中搜索错误消息。但我们使用的“vi”版本无法处理大于特定大小的文件,而我们的日志文件通常超过该大小。因此,我们被迫使用“more”来查看文件。问题是,一旦我们发现错误消息,我们真正想看到的是导致错误的交易;即日志文件中错误消息之前的行。但 more 不允许在文件中向后移动。

所以他在创作时就已经使用了vi和来克服当时和的局限性。morelessvimore

当你这样做时man less,你会看到以下内容vi

命令基于 more 和 vi。

Vim 和 Less

因此lessvim似乎巧合地具有彼此相似的命令,只是因为这些命令实际上是基于的vi,可以将其看作是它们的共同祖先。

相关内容