0

我正在做一个关于 vi/Vim 的演示文稿。我想强调他们在较新的编辑器上的一些特性,尤其是 Sublime Text。许多差异可以通过添加插件来平衡,但这是我当前的开箱即用功能列表,这些功能似乎是 vi/Vim 独有的:

  • vi 可用于绝大多数 Unix 机器,包括服务器
  • 端口可用于几乎所有操作系统,包括移动
  • 逐块视觉编辑
  • 内置差异查看器
  • 内置拼写检查
  • 多个寄存器(又名“剪贴板”)
  • Vim 是免费软件、开源、慈善软件

我忽略了其他任何独特的内置功能吗?

4

3 回答 3

7

这是一个自以为是的问题,我希望这个问题能够结束。然而,关于编辑器拥有和不拥有的功能有很多事实。我不会关注其他编辑器没有的东西,而是关注 Vim 有的东西。这是我认为重要的功能列表。

Vim 比较独特:

  • 模态编辑
  • 内置帮助查看:h
  • 终端用户界面
  • 广泛的操作系统支持
  • 开源
  • 撤消分支 (:h 撤消分支)
  • 持久撤消
  • .用于简单的重做
  • 与 ex 和 sed 共享许多常用命令
  • 使用缓冲区(尝试使用选项卡打开 100 个文件,看看效果如何)
  • 内置文件浏览和远程编辑 ( :h netrw)
  • 内置差异支持
  • 窗口拆分和选项卡支持(同一个缓冲区可以是多个地方)
  • 在许多缓冲区/窗口/选项卡上运行命令:argdo、、、和bufdotabdowindo
  • 命令行编辑 ( :h cmdline-window)

许多其他编辑共享的功能:

  • 使用宏进行高级重复
  • 插件和脚本
  • Quickfix 列表 - 保留旧列表 (:h :colder)
  • 位置列表 - 特定窗口的快速修复
  • 视觉块模式 - 许多其他编辑器都有这个但是$仍然很特别(:h v_$
  • 内置 grepping ( :h :vimgrep)
  • 零宽度正则表达式原子,例如:h /\zs
  • 许多完成模式:单词、行、标记、拼写、语法和全向。另外,您可以创建自己的。
  • 易于创建备用键映射
  • 寄存器 - 你的剪贴板
  • 跳跃/标记:见:h ctrl-o, :h g;, :h ctrl-t,:h mark-motions
  • 使用 foldtext 自定义折叠
于 2013-09-16T19:05:25.890 回答
2

AFAIK,每个编辑器/IDE 都带有拼写检查,你所说的许多“现代”编辑器也有块选择,有些甚至有 Vim 没有的非连续选择。

一些事实,从我的头顶:

  • 在 shell 中运行作为 GUI,
  • 模态编辑,
  • 直观的编辑语言,
  • 用于超精确高速运动的文本对象和动作,
  • 一个陡峭的学习曲线,保证了多年的许多 aha 时刻
于 2013-09-16T19:11:43.473 回答
0

The one and only advantage that no one can discut is the fact that vi will always be available when you connect on a distant machine which does not have a GUI. There are other shell editors, but none is as universal as vi is.

Just 4 days ago, I had to install a software on a distant VM which did not run a GUI, the fastest way to set the configuration files was to just fire-up vi, make the change and save.

Had I not know how to use vi, I would have had to get a copy of the file locally, edit it in a "modern" editor, then re-upload it.

于 2013-09-17T07:13:41.580 回答