Vim是一个类似于
Vi的高度可定制的
文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是
自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年
Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了
Slashdot Beanie的最佳
开放源代码文本编辑器大奖,又将Emacs推至二线。
Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
vim的
设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的
普通模式的
编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多
快捷键设置和
正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。
Bram Moolenaar 在 80 年代末购入他的
Amiga计算机时,Amiga 上没有他最常用的编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了
ViMS-DOS上。从那个时候开始,Vim 的全名就变成 Vi IMproved了。
在这之后,Vim 加入了不计其数的新功能。做为第一个里程碑的是 1994 年的 3.0 版本加入了多视窗编辑模式(分割视窗)。从那之后,同一荧幕可以显示的 Vim 编辑文件数可以不止一个了。1996 年发布的 Vim 4.0 是第一个利用图形接口(
GUI)的版本。1998 年 5.0 版本的 Vim 加入了 highlight(
语法高亮)功能。2001 年的 Vim 6.0 版本加入了
代码折叠、插件、多国语言支持、垂直分割视窗等功能。2006 年 5 月发布的 Vim 7.0 版更加入了
拼字检查、
上下文相关补完,标签页编辑等新功能。 2008 年 8 月发布的 Vim 7.2,该版本合并了 vim 7.1 以来的所有修正补丁,并且加入了脚本的
浮点数支持,2010年08月15日,历时两年的时间,vim又发布了vim 7.3这个版本,这个版本修复了前面版本的一些
bug,以及添加了一些新的特征,这个版本比前面几个版本来的要更加优秀。
十年以后,Vim 终于发布了一个新的大版本 8.0,结束了从 2006 年 5 月 7 日开始的 7.0 世代。虽然这十年间,Vim 也一直在不断更新,从 7.0 到三年前的 7.4,每隔一两年或两三年就会有个小版本更新,但是这次跨越大版本更新,带来了不少新的特性,据说有一些是从其它的 Vi 流派吸收来的特性。
2018年又发布了Vim 8.1版本,Vim 8.1的主要新功能是支持在Vim窗口中运行终端。 它建立在Vim 8.0中添加的异步功能之上。 终端窗口可用于多种用途,也用于测试,以获取
屏幕截图并将其与预期状态进行比较。 这允许测试交互式操作,例如弹出菜单。
Vim有许多有用的功能,可以与现代
文本编辑器竞争,如
Sublime Text,Atom,
UltraEdit或
jEdit。它们包括支持正则表达式的搜索,轻松重复命令的能力,
直接记录和执行宏,
自动完成,
文件合并,鼠标集成,
拼写检查,语法
突出显示,分支撤消/重做历史,支持流行
网络协议和文件存档格式等。
虽然Vim的功能令人印象深刻,但其真正的优势在于其
可扩展性。 Vim有自己的
脚本语言,称为Vim脚本(也称为vimscript或VimL),用户可以通过多种方式使用它来增强Vim,例如为其他
编程语言启用语法高亮,自动化语法检查或将Vim与其他
应用程序和服务。
大多数经验丰富的Vim用户很难想象在没有任何脚本的情况下使用文本编辑器,并且有很多可供选择。 Vim Awesome是世界上最大的Vim脚本目录之一,其中包含超过18,000个。一些最值得注意的Vim脚本包括vim-multiple-cursors,它允许您创建多个选择,NERDTree,它在侧面板中显示交互式文件树视图,以及Emmet,一个强大的
HTML,
CSS和
JavaScript完成工具。
除了可扩展性之外,Vim还具有高度
可配置性,包含Vim核心全局设置(称为vimrc)的文件可以在各个Vim安装之间共享。如果您不想在
闲暇时间搞乱设置和编辑
配置文件但仍希望充分发挥Vim的优势,可以从互联网上下载许多现成配置文件中的一个,或者使用Vim等工具创建一个配置。