Linux VI 编辑器与 vim 编辑器有什么不同

Linux VI 编辑器与 vim 编辑器有什么不同

我想使用一个适用于所有系统的编辑器。有人告诉我 VIM 是最好的,我在 ubuntu 上试过了,没有 VIM,但有 vi。

那么我应该使用哪一个

答案1

vi 会更常用,但它们并不完全一样。基础是一样的,但正如名称所暗示的那样,vim(vi 改进版)在功能方面更先进。

如果您想使用大多数系统上可用的编辑器,请使用 vi。如果您想使用功能更多的编辑器,请使用 vim,但要做好安装它的准备,或者在某些未安装 vi 的系统上重新使用 vi。话虽如此,但基本原理确实是一样的,所以在需要时重新使用 vi 应该不会太麻烦。

http://en.wikipedia.org/wiki/Vim_(text_editor)#Features_and_improvements_over_vi

答案2

Vim 是 vi 编辑器的扩展版本。Vim 更适合编码/脚本,因为它可以识别多种流行语言的编码语法。

答案3

根据我的经验,大多数发行版vi都有别名vim(RHEL 肯定有,Ubuntu 过去也有(当前版本没有,但预计它没有改变))。

答案4

我建议在你经常使用的系统上安装和使用 Vim,特别是如果你打算用它编码的话。Vim 提供了许多 Vi 所没有的有用功能,但基本的文本操作命令是相同的,所以在必要时你可以毫无问题地回到 Vi。

您还应该注意,尽管 Vi 在大多数(如果不是全部)基于 Unix 的系统中默认安装,但 Vim 适用于所有这些平台,并且与旧版本相比,它还被移植到更多的非 Unix 系统上。

至于为什么你应该考虑使用 Vim 而不是 Vi,这里有一些值得考虑的功能:

  • 内置帮助系统(命令:help)。
  • 语法高亮:syntax enable)。
  • Unicode 支持
  • 支持第三方插件
  • 无限次撤消。虽然 Vi 仅支持一次撤消,但您可以配置 Vim 中要记住的更改次数(默认为 1000)。
  • 差异模式。Vim 可用于查看两个文件之间的差异,从而以交互方式合并这些文件。与 Git 等版本控制系统结合使用非常有用。
  • 视觉模式。您可以在对文本执行命令之前直观地选择文本区域;类似于在大多数图形文本编辑器中按住 Shift 并移动箭头键。
  • 自动完成。类似于现代 shell 中的制表符补全;您可以使用Tab来自动完成冒号命令,使用Ctrl+N来完成文本中的单词,使用Ctrl+L来完成整行。后两个命令根据文档其余部分的内容提供补全。
  • 内置拼写检查器(使用 启用:set spell
  • 选项卡和多个视图(尝试:tabnew:vsplit)。
  • 文本对象。这允许您根据某些分隔符快速选择文本区域。例如,如果我们将光标放在 html 标记的内容上<i>some text</i>并运行命令dit(d'埃莱特'nside'ag),我们剩下<i></i>。如果我们改用dat(d'埃莱特A 'ag),<i></i>标签也会被删除。同样,你可以删除双引号 ( di")、括号 ( di[) 甚至整个段落 ( dip) 之间的内容。

要获得更全面的差异列表,请在终端中启动 Vim 并运行:help vi_diff

相关内容