Vim和VI之间的最大差异


25

今天,我决定尝试使用Vi代替Vim,我想看看它有什么不同。我一点也没有注意到任何差异,我注意到的最大的变化是,-- INSERT --当我进入插入模式时,Vi没有说什么,而且接口之间也有一些细微的差异。

这让我想知道,Vi和Vim之间最大的区别是什么?


1
您显然没有使用vim的许多高级功能。块选择,在光标下搜索单词,在光标下递增编号,语法突出显示等
Jim

Answers:


25

实际上,vim中有一个帮助命令来告诉您不同之处: :help vi_diff

在Vim的网站上,最大的是:

无限撤消

您可以执行xxxx并撤消四个删除操作。您上次键入“ jjjj”并何时发现大写锁定键是什么时候?您不小心将五行连接在一起,Vi只能撤消最后一条命令。在Vim中,您可以撤消所有四个“ J”命令并取回原始文本。

可移植性

Vi仅在Unix上可用。Vim可在MS-Windows,Macintosh,Amiga,OS / 2,VMS,QNX和其他系统上运行。以及每个Unix系统上。

语法高亮

可以对Vim进行编程,以根据正在编辑的文件类型,以不同的颜色或样式突出显示缓冲区的各个部分。Vim捆绑了数百种语法突出显示规则集。

图形用户界面

Vim在控制台上运行良好,但可以在许多GUI中本地运行,包括X Windows,Mac OS和Microsoft Windows。它使用本机GUI小部件进行滚动,划分缓冲区和菜单。它还可以与剪贴板对话。



根据自述文件,其中某些操作系统不再受支持。
罗尔夫

7

Vim具有许多Vi所没有的功能,甚至不是明显的“高级”功能。

实际上,这意味着如果您习惯使用Vi,开始使用Vim(或其他一些Vi克隆)可能会遇到很少的差异,但是如果您习惯使用Vim 并且 “反射”包含以下功能,例如可视模式突出显示,以“ g”或“ z”开头的任何键操作,以“ i”或“ a”开头的任何文本操作(例如,“ daw”以删除光标下的单词),并在插入模式下使用箭头键进行导航等等,您会发现这些在Vi中不起作用。

还有一个问题是,当您说“尝试Vi”时,您到底使用了什么。在许多系统上,“ vi”实际上以某种模式运行Vim,其中某些差异适用(如您所见,默认为showmode,箭头键在插入模式下不起作用),而其他差异(可视模式和g / z键有效) ),并且某些功能取决于编译时选项,该选项有时在用于此目的的“微型Vim”中被禁用(文本对象,例如“ aw”一词是其中之一)。如果您运行的是真正的 Vi,或者“ vi”是其他一些克隆,但功能不如Vim,或者功能不如Vim,例如nvi或VILE,则不会获得这些信息。

而且,在晦涩的一面,尽管“ Vi模式下的微小Vim”显然没有完整Vim所没有的任何功能,但真正的原始Vim却缺少Vim的一些功能。这些记录在中:help vi-differences


2
我敢打赌,OP实际上有一个“微小的vim” vi。
凯文

2

大多数比较为vim提供的功能比为vi提供的功能更多,但是有一个例外。vi中有“开放”模式,而vim确实没有此模式。

开放模式是一种单行模式,该模式在白天用于没有电子显示屏的终端,例如电传打字机,活版印刷机等,也用于光标仅停留在底部的显示屏。

我知道那里有文档说vim模拟了开放模式,但是我的经验是没有,因为我亲眼见过它与vi一起使用,而且我从未见过vim这样做。看来vim仅使用open命令即可在可视模式下打开和编辑文件。我确实相信vim的官方文档指出它不支持开放模式。


我安装了ex-vi.sourceforge.net,它是原始Vi的端口。如何启动此打开模式?手册页在谈论时提到了它^R,但没有其他帮助。:open some/file返回open: No such command from open/visual
muru 2016年

@muru Q进入ex模式,然后openz在打开模式下显示当前行的上下文。Q然后退出vi
安东尼

0

我认为进行比较非常困难,因为随着时间的推移vi发生了变化。

当我上大学时,我在使用System V连接到大型机的哑终端(以及Mac的终端仿真器)上使用了普通香草vi。您甚至找不到更多。

但是我什至不确定那是真的vi。大约在那个时候,有很多克隆和端口,因为当时vi不是开源的。当供应商进行克隆时,他们添加了vi中没有的功能。历史令人费解。您可以在Wikipedia和其他地方阅读它。

所以,如果你没有使用某些厂商/硬件,你不使用vi的事,但六。

但是我确实记得vi(或我正在使用的克隆)的界面非常简约(没有颜色,没有INSERT标签,没有多个撤消等),但实际上可以完成的功能却很强大。很实用。


0

Vim常见问题解答具有格式正确的列表:https : //vimhelp.org/vim_faq.txt.html#faq-1.4

常见问题摘录:

  • 多级撤消
  • 选项卡,多个窗口和缓冲区
  • 灵活的插入模式(可以在插入模式下使用箭头键)
  • 巨集
  • 可视模式(可视选择文本部分)
  • 块运算符
  • 在线帮助系统
  • 命令行编辑和历史记录
  • 命令行补全(制表符补全)
  • 水平滚动(长行)
  • Unicode和国际化方面的改进。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.