公司介绍

Vim(Vi Improved)是由荷兰程序员 Bram Moolenaar 于 1991 年发布的经典文本编辑器,源自 BSD 系统的 Vi 编辑器。Vim 是一个开源项目,采用慈善软件(Charityware)模式——其授权协议鼓励用户向 ICCF Holland 基金会捐款,用于帮助乌干达的艾滋病患者。Vim 以其模式编辑(Modal Editing)范式闻名:编辑器在不同模式下分别承担导航、插入和命令操作,熟练使用后可使编辑效率大幅提升。

Neovim 是 Vim 的一个现代化分支项目,于 2014 年由社区发起,旨在重构 Vim 的代码库以提升可维护性和扩展性。Neovim 引入了 Lua 作为一等配置语言、内置 LSP(Language Server Protocol)客户端、异步任务支持和现代化的插件 API,同时保持与 Vim 的高度兼容性。如今 Neovim 已成为一个独立且活跃的开源项目,拥有庞大的社区生态。

Vim 本身是一个开源社区项目,不属于任何公司实体。Bram Moolenaar 在 2023 年 8 月不幸离世后,Vim 社区由维护者团队继续负责开发和维护工作。

产品矩阵

  • Vim:经典的控制台文本编辑器,提供 Vi 兼容模式和改进功能。支持语法高亮、代码折叠、多窗口编辑、标签页、宏录制和正则搜索替换。通过 Vimscript 脚本语言实现高度可配置。
  • Neovim:Vim 的现代分支,使用 Lua 作为一等配置语言。原生支持 LSP、Treesitter 语法解析树、异步 I/O、内置终端模拟器和插件管理的改进架构。兼容大部分 Vim 配置文件。
  • GVim:Vim 的图形界面版本,提供菜单栏、工具栏和鼠标支持,适合不习惯纯终端操作的 Vim 用户。
  • MacVim:macOS 平台专用的 Vim 图形界面版本,原生支持 macOS 系统特性,如 HiDPI 显示和 macOS 菜单栏集成。
  • Vimscript / Lua:Vim 的传统扩展语言为 Vimscript,Neovim 引入 Lua 作为一等扩展语言。大量插件使用 Lua 重写,性能更好。
  • Vim 插件生态:社区已发布数千款插件,涵盖文件管理器(NERDTree)、模糊搜索(fzf.vim)、Git 集成(vim-fugitive)、状态栏(vim-airline / lualine)、代码补全(YouCompleteMe / coc.nvim)等。

核心优势

模式编辑:Vim 的核心设计哲学——Normal、Insert、Visual 和 Command 模式之间的切换使大部分编辑操作无需组合键即可完成。熟练后可实现"思维速度"的文本编辑。

轻量高效:Vim 完全在终端中运行,资源占用极低,启动和操作响应几乎无延迟。在 SSH 远程环境和低配硬件上表现尤为出色。

极强可扩展性:数千款社区插件覆盖所有开发场景,从代码补全、调试器集成、文件管理到主题定制。Vimscript 和 Lua 提供了强大的自定义能力。

键盘驱动:几乎所有操作均可通过键盘完成,无需使用鼠标。组合命令(如 ci" = 在引号内修改)让重复编辑任务高度自动化。

通用可用性:几乎所有 Unix/Linux 系统预装 Vi/Vim,是服务器管理和运维的必备工具。Vim 按键绑定被 VS Code、JetBrains、Sublime Text 等主流编辑器以插件形式支持。

开源社区:Vim 和 Neovim 均为开源项目,拥有全球范围的活跃贡献者社区。Neovim 的 GitHub 仓库拥有超过 80,000 Star。

发展历程

  • 1991 年:Bram Moolenaar 发布 Vim 1.0(Vi imitation),最初在 Amiga 平台上开发
  • 1992 年:Vim 1.22 发布,名称正式定为 Vi Improved,添加多窗口和多级撤销功能
  • 1994 年:Vim 3.0 引入多窗口编辑支持
  • 1996 年:Vim 4.0 发布,引入 GUI 版本 GVim
  • 1998 年:Vim 5.0 发布,引入语法高亮系统和 Vimscript 脚本语言
  • 2001 年:Vim 6.0 发布,引入代码折叠、多语言支持和垂直分割窗口
  • 2006 年:Vim 7.0 发布,引入拼写检查、自动补全和标签页
  • 2014 年:Neovim 项目由社区发起,作为 Vim 的现代化重构分支
  • 2016 年:Vim 8.0 发布,引入异步 I/O、通道通信和内置包管理器
  • 2018 年:Neovim 0.3 发布,引入内置终端模拟器
  • 2019 年:Vim 8.2 发布,新增弹出窗口和文本属性支持
  • 2020 年:Neovim 0.5 发布,原生支持 LSP 和 Treesitter
  • 2022 年:Vim 9.0 发布,引入 Vim9 script 新语法;Neovim 0.8 发布,Lua 配置成为主流
  • 2023 年:Bram Moolenaar 于 8 月 5 日去世,Vim 社区由维护者团队接管
  • 2024 年:Neovim 0.10 发布,内置边缘检测、LSP Inlay Hints 等
  • 2025 年+:Vim 和 Neovim 社区持续活跃,继续优化性能和编辑器体验

市场地位

Vim / Neovim 在代码编辑器市场中占据独特地位,与以下服务商构成竞争关系:

  • Emacs:与 Vim 并称"编辑器之神"的经典编辑器,采用 Lisp 扩展体系。编辑器"圣战"(Editor War)的双方,在可扩展性和快捷键文化上形成长期竞争。
  • Visual Studio Code:目前市场份额最大的现代编辑器,以 GUI 和扩展生态见长。VS Code 提供 Vim 模拟插件(如 VSCodeVim),在保留 VS Code 功能的同时提供 Vim 操作体验。
  • Helix:新一代终端编辑器,汲取 Vim 模式编辑理念但采用更现代化的架构。默认采用编辑树(Selection-based)模式,与 Neovim 在新兴终端编辑器市场直接竞争。
  • Kakoune:另一种模式编辑终端编辑器,采用与 Vim 不同的"先选择后操作"范式。与 Vim / Neovim 在模式编辑领域形成理念竞争。
  • Sublime Text:轻量级 GUI 编辑器,提供仿 Vim 模式(Vintage),但在启动速度和终端原生体验上与 Vim 形成差异竞争。