我对 *NIX 文本编辑器有所了解(目前正在从 迁移nano
到vim
),并且在浏览了 Unix 和 Linux SE 后,注意到vi
在相当多的问题中使用了 'vim' 来代替。我知道“vim”代表“Vi IMproved”,考虑到这一点,我想知道为什么有人宁愿使用 vi 而不是 vim。 vi 与 vim 相比有什么明显的优势吗?
编辑:我认为我的问题被误解了。我知道 vim 在很大程度上比 vi 更强大、功能更完整。我想知道是否有任何可能的情况下 vi 比 vim 有优势,例如内存使用更少、在 *nix 系统上流行等。
答案1
vi
也是)POSIX 标准编辑器。有很多实现,并且vim
可能是最受欢迎的。
虽然许多传统的 Unix 兼容操作系统提供了vi
非常接近标准的实现,但vim
添加了许多额外的功能,使其成为一把双刃剑。
当然,这些扩展通常旨在简化编辑过程并提供有用的特性和功能。然而,一旦你习惯了其中的一些(不是像语法着色这样的装饰性的,而是那些改变编辑器行为的),你很容易忘记它们是特定的;使用不同的实现,包括基于原始 BSD 代码的实现,可能会非常令人沮丧。反之亦然。
dash
这与使用非 POSIX bashism 的脚本在更正统的 shell 实现(如或 )中遇到的问题非常相似ksh
。
答案2
No vi 与 vim 相比没有任何明显的优势,相反。 Vim 比 Vi 有更多优势。您可能感兴趣:为什么,哦为什么,要做这些#?@!疯子用 vi 吗?
编辑还阅读:学习 VIM 值得吗?
答案3
在我一生中的大部分时间(不包括童年)舒适地使用 Vim 进行编辑之后,我花了大约一个月的时间只使用 vi。在这样做的过程中,我意识到我一直依赖 Vim 来满足我所有的文本修改需求。在使用 vi 之前,每当我必须在一大组文件中替换某些文本或执行类似操作时,我只会在 Vim 中打开文件并运行命令:bufdo
,每当我必须缩进或格式化某些文件时,我会在 Vim 中打开它们并使用 Vim 的=
和gw
命令。我非常依赖 Vim。在意识到 vi 没有这些命令后,我被迫使用 和 等其他程序执行批量文本转换,并sed
了解了很多相关知识。虽然我最终又改回使用 Vim,但通过使用功能较少的编辑器所获得的知识非常丰富,并且事实证明非常有用。除了学习文本编辑器之外的工具之外,我还更好地熟悉了 vi。每当我在一个没有 Vim 的新系统或服务器上工作时,我都会觉得使用 vi 比我在为期一个月的旅行之前更舒服。awk
indent
另外,上个月我在一台廉价的 WM8650 平板电脑上安装了 Linux,发现 Vim 和 vi 之间存在明显的性能差异,因此我倾向于在平板电脑上使用 vi。
答案4
优点是 vi 通常预装在企业 UNIX(如 AIX 或 Solaris)中。此外,vim 在安装介质上无法访问。