我根本没有注意到很多差异。我注意到的最大的事情是,当我进入插入模式时,vi没说
-- INSERT --
,并且界面上有一些细微的差别。这让我想知道,vi和Vim之间的最大区别是什么? ?
#1 楼
实际上Vim中有一个帮助命令来告诉您这些区别::help vi_diff
(请注意下划线::help vi_diff
)从Vim的站点来看,最大的是:
无限的撤消
您可以执行xxxx并撤消四个删除操作。您上次输入“ jjjj”的时间是什么时候,然后发现大写锁定键已打开?您
意外地将五行连接在一起,Vi只能撤消最后一个
命令。在Vim中,您可以撤消所有四个“ J”命令,并返回您的
原始文本。
可移植性
Vi仅在Unix上可用。 Vim可在MS-Windows,Macintosh,Amiga,OS / 2,VMS,QNX和其他系统上运行。甚至在每个Unix
系统上。
语法高亮显示
Vim可以根据要编辑的文件类型,以不同的颜色或样式来高亮显示缓冲区的各个部分。 Vim捆绑了数百种语法突出显示规则集。
GUI
Vim在控制台上运行良好,但可以在许多GUI中本地运行,
包括X Windows,Mac OS和Microsoft Windows。它使用本机GUI
小部件进行滚动,划分缓冲区和菜单。它还可以与剪贴板通话。
评论
常见问题中还提到了其他一些区别
–克里斯蒂安·布拉班特(Christian Brabandt)
15年11月18日在13:12
根据自述文件,其中一些操作系统不再受支持。
–罗夫
16年7月5日在8:48
#2 楼
Vim具有许多Vi所没有的功能,甚至是那些显然不是“高级”功能的功能。实际上,这意味着如果您习惯了Vi,那么如果您习惯了Vi,就不会有什么不同开始使用Vim(或其他一些Vi克隆),但是如果您习惯了Vim,并且如果您的“反射”包括视觉模式突出显示,以“ g”或“ z”开头的任何键动作,带有“ i”或“ a” [例如“ daw”删除光标下的单词],在插入模式下使用箭头键进行导航,等等,您会发现这些功能在Vi中不起作用。
还有一个问题是您到底要做什么?当您说自己“尝试使用Vi”时正在使用。在许多系统上,“ vi”实际上以某种模式运行Vim,其中某些差异适用(如您所见,默认为showmode,箭头键在插入模式下不起作用),而其他差异(可视模式和g / z键有效) ),并且某些功能取决于编译时选项,该选项有时在用于此目的的“微型Vim”中被禁用(文本对象,例如“ aw”一词是其中之一)。如果您运行的是真正的Vi,或者“ vi”是某些其他克隆,但功能比Vim少或不同,例如nvi或VILE,您将不会得到这些。
而且,晦涩难懂的一面,尽管“ Vi模式下的微小Vim”显然没有完整Vim所没有的任何功能,但真正的原始Vim却缺少Vim的一些功能。这些已记录在
:help vi-differences
中。评论
我敢打赌,OP实际上有一个“微小的vim” vi。
–凯文
15年11月18日在22:15
您说在许多系统上,vi命令实际上运行vim。那么,如何确定我是在实际运行vi还是vim?
–firstpostcommenter
20年7月9日在20:46
@firstpostcommenter好吧,它基本上仍然看起来像vim一样-屏幕左侧的〜将变为蓝色,并且如果您单独启动它而不指定a的话,版本声明文本可能仍会出现在屏幕中央。文件。如果您非常关心运行的编辑器,那么可能还会安装其他vi克隆,而真正的“ vi”在linux / bsd发行版中很少见。
–Random832
20年7月10日在4:13
#3 楼
大多数比较为Vim提供的功能要比给vi提供的功能更多,但是有一个例外。 vi中有一个“开放”模式,而Vim确实没有这种模式。开放模式是一种单行模式,该模式在过去用于没有终端的终端电子显示屏,例如电传打字机,凸版印刷机等,以及带有光标仅停留在底部的显示屏。
我知道那里有说明Vim模拟打开模式的文档,但是我的经验是的,不是。因为我亲眼见过它与vi一起使用,而我从未见过Vim这样做。看来Vim仅使用
open
命令只是在可视模式下打开和编辑文件。我确实相信Vim的官方文档指出它不支持开放模式。评论
我安装了ex-vi.sourceforge.net,它是原始Vi的端口。如何启动此打开模式?手册页在谈论^ R时提到了它,但没有其他帮助。 :open some / file返回open:open / visual中没有这样的命令。
–muru
16年4月4日在15:46
@muru Q进入ex模式,然后打开。 z处于打开模式时显示当前行的上下文。要退出,先按Q再按vi。
– Antony
16年6月21日3:00
#4 楼
Vim常见问题解答具有格式正确的列表:https://vimhelp.org/vim_faq.txt.html#faq-1.4
FAQ摘录:
多级撤消
选项卡,多个窗口和缓冲区
灵活的插入模式(可以在插入模式下使用箭头键)
宏
可视模式(可视地选择部分)的文本)
块运算符
在线帮助系统
命令行编辑和历史记录
命令行完成(制表符完成)
水平滚动(长行)
> Unicode和国际化方面的改进。
#5 楼
我认为很难进行比较,因为vi随时间发生了变化。当我上大学时,我在笨拙的终端(以及Mac上的终端仿真器)上使用了普通香草vi,该系统使用System V连接到大型机。您甚至找不到
但是我什至不确定那是真的vi。大约在那个时候,有很多克隆和端口,因为当时vi不是开源的。当供应商进行克隆时,他们添加了vi中没有的功能。历史令人费解。您可以在Wikipedia和其他地方阅读它。
因此,如果您未使用某些供应商/硬件,则说明您不是在使用vi,而是使用vi。我确实记得vi(或我正在使用的克隆)的界面非常简约(没有颜色,没有INSERT标签,没有多个撤销等),但实际上可以实现的功能很强大。很实用。
评论
您显然没有使用vim的许多高级功能。块选择,在光标下搜索单词,在光标下递增编号,语法突出显示等。相关文章-Vi和Vim有什么区别?
有一些明显的优点,例如扩展的密钥支持。箭头键与hjkl相反。