我对 *NIX 文本编辑器(目前正在从 迁移nano到vim)有所了解,并且在 Unix 和 Linux SE 上看了一些之后,注意到vi在相当多的问题中使用了 'vim' 而不是 'vim'。我知道“vim”代表“Vi IMproved”,考虑到这一点,我想知道为什么有人宁愿使用vi 而不是vim。vi 比 vim 有什么明显的优势吗?
编辑:我认为我的问题被误解了。我知道,在大多数情况下,vim 比 vi 强大得多,功能也更完整。我想知道的是,是否存在 vi 优于 vim 的任何可能情况,例如更少的内存使用、在 *nix 系统上的流行等。
jll*_*gre 81
vi是(也是)POSIX 标准编辑器。有很多实现,vim可能是最受欢迎的。
虽然许多传统的 Unix 兼容操作系统提供vi非常接近标准的实现,vim但添加了许多额外的功能,使其成为一把双刃剑。
当然,这些扩展通常旨在简化编辑过程并提供有用的特性和功能。然而,一旦你习惯了其中的一些(不是像语法着色这样的装饰性的,而是那些改变编辑器行为的),你很容易忘记它们是特定的;使用不同的实现,包括基于原始 BSD 代码的实现可能会非常令人沮丧。反之亦然。
这与使用非 POSIX bashisms 的脚本面临更正统的 shell 实现(如dash或 )时发生的问题非常相似ksh。
小智 32
没有 vi 与 vim 相比没有任何显着优势,而是相反。Vim 比 Vi 有更多的优势。你可能感兴趣:为什么,哦,为什么,做那些#?@!疯子们使用vi?
编辑还阅读:学习 VIM 值得付出努力吗?
小智 28
在用 Vim 舒适地编辑了我一生的大部分时间(不包括童年)之后,我花了大约一个月的时间只使用 vi。这样做时,我意识到我一直依赖 Vim 来满足我所有的文本修改需求。在使用 vi 之前,每当我不得不替换一些文本或在一大组文件中执行类似操作时,我只会在 Vim 中打开文件并运行:bufdo命令,每当我不得不缩进或格式化某些文件时,我会在 Vim 中打开它们并使用 Vim=和gw命令。我依赖 Vim。在意识到 vi 没有这些命令后,我被迫使用sed其他程序执行批量文本转换并学到了很多其他程序,例如awk和indent. 虽然我最后改回使用 Vim,但我通过使用功能较少的编辑器获得的知识非常丰富,并且被证明非常有用。除了学习文本编辑器之外的工具外,我还更好地了解了 vi。每当我在一个没有 Vim 的新系统或服务器上工作时,使用 vi 比在我为期一个月的远足之前更舒服。
另外,上个月我在便宜的 WM8650 平板电脑上安装了 Linux,发现 Vim 和 vi 之间存在明显的性能差异,所以我倾向于在平板电脑上使用 vi。
gol*_*cks 13
没有 vim 我会很难生活,但我受不了 vi。然而,学习前者至少会让你知道如何处理后者。
默认情况下的 vim 界面实际上非常接近 vi。如果我在使用 vim 的系统上工作,我要做的第一件事就是将这些东西添加到~/.vimrc:
syntax enable
set nocp
set wildmenu
Run Code Online (Sandbox Code Playgroud)
还有一堆我更喜欢的其他东西——nowrap 和编号等等——但没关系。“语法启用”只是打开基本语法突出显示(有点强大:filetype plugin on也是基本的);"nocp"关闭 vi 兼容性,正是这一点开始将 vim 与 ye olde vi 区分开来(例如,它使showmode整个体验变得更加人性化,因为您现在对自己是在命令中还是 ~INSERT 有了一些线索~模式)。“wildmenu”只是在做一些事情时给你一个水平完成菜单,这也让生活更轻松。
vim的文本编辑功能是首屈一指的——除了 emacs,我从未见过或听说过一款与之相近的软件。它们不容易学习,但是一旦您了解它们,它们的使用速度就会比鼠标菜单快得多,并且比基于鼠标菜单的界面中的简单键宏替代方案更具动态性。对于编程,我有时将 vim 与 Eclipse 等 IDE 一起使用,但我在 vim 中完成大部分工作。
如果你走这条路,哈哈,看看自动完成和标签列表插件。并提防阴暗面。