Vim的独特功能超过Sublime等更“现代”的文本编辑器?

时间:2013-09-16 17:54:58

标签: vim sublimetext2 vi

我正在撰写关于vi / Vim的演讲。我想强调一下他们对新编辑器的一些功能,特别是Sublime Text。可以通过添加插件来平衡许多差异,但这是我目前的开箱即用功能列表,似乎是vi / Vim独有的:

  • vi可在绝大多数Unix机器上使用,包括服务器
  • 端口几乎适用于所有操作系统,包括移动
  • blockwise-visual正在编辑
  • diff viewer内置
  • 内置拼写检查
  • 多个寄存器(a.k.a。“clipboards”)
  • Vim是免费软件,开源,慈善软件

我还有其他独特的内置功能吗?

3 个答案:

答案 0 :(得分:7)

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

Vim比较独特:

  • 模态编辑
  • 内置帮助,请参阅:h
  • 终端用户界面
  • 广泛的操作系统支持
  • 开源
  • 撤销分支(:h undo-branches)
  • 持久撤消
  • . for simple redo
  • 与ex和sed共享许多常用命令
  • 使用缓冲区(尝试用标签打开100个文件,看看它是如何工作的)
  • 内置文件浏览和远程编辑(:h netrw
  • 内置差异支持
  • 窗口拆分和标签支持(相同的缓冲区可以是多个位置)
  • 在多个缓冲区/窗口/标签上运行命令:argdobufdotabdowindo
  • 命令行编辑(:h cmdline-window

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

  • 使用宏进行高级重复
  • 插件和脚本
  • 快速修复列表 - 保留旧列表(:h :colder
  • 位置列表 - 特定窗口的快速修复
  • 视觉阻止模式 - 许多其他编辑都有这个但是$仍然很特别(:h v_$
  • 内置grepping(:h :vimgrep
  • 零宽度正则表达式原子,例如:h /\zs
  • 许多完成模式:单词,行,标签,拼写,语法和全向。另外,你可以创建自己的。
  • 轻松创建备用密钥映射
  • 注册 - 您的剪贴板
  • 跳转/分数:见:h ctrl-o:h g;:h ctrl-t:h mark-motions
  • 使用foldtext自定义折叠

答案 1 :(得分:2)

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

一些事实,从我的头脑中开始:

  • 在shell 中作为GUI运行,
  • 模态编辑,
  • 一种直观的编辑语言,
  • 用于超精确高速运动的文本对象和动作,
  • 一条陡峭的学习曲线,可以保证多年来的aha时刻

答案 2 :(得分:0)

无人能够解决的唯一优势是,当你在没有GUI的远程机器上连接时,vi将始终可用。还有其他shell编辑器,但没有一个像vi那样通用。

就在4天前,我不得不在没有运行GUI的远程VM上安装软件,设置配置文件的最快方法是启动vi,进行更改并保存。

如果我不知道如何使用vi,我将不得不在本地获取该文件的副本,在“现代”编辑器中编辑它,然后重新上传。