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

Per*_*tor 15 vim command-line less history-of-ubuntu

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

cla*_*123 22

简短的回答,在vi. 它们的创建者都是早期 Unix 程序vi.

这是一个粗略的图表,可以正确看待它们的初始发布日期和影响:

vi 1976
 | \      more 1978
 |  \     /
 |   \   /
 |     v
 |   less 1983
 v
vim 1991
Run Code Online (Sandbox Code Playgroud)

资料来源:

维姆

Vim,由 Bram Moolenaar 开发,是Unix 程序vi克隆。在 vim 中,您可以查看 help intro: :help intro,您会看到:

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

较少的

而 的创建者less,Mark Nudelman 在他的常见问题解答中解释说:

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

于是,他就已经使用vimore时,他创造了less克服了两者的局限性vi,并more在那个时候。

当您这样做时man less,您会看到与以下内容的连接vi

命令基于 more 和 vi。

Vim 和更少

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