Vim
Open-source modal text editor (Vi IMproved). Free charityware; Vim 9.2 with Vim9 script, Wayland, fuzzy completion. Ubiquitous on Unix/macOS/Windows.
Pricing
Contact Sales
open_source
Category
general
0 features tracked
Quick Links
Overview
Vim (Vi IMproved) is a highly configurable, modal text editor designed for fast creation and change of any kind of text—source code, config files, logs, documentation, and system files. Product home: vim.org. Source and ongoing development: github.com/vim/vim (on the order of ~40k+ stars). It ships as vi / vim on most Unix-like systems and Apple’s macOS base install, with full-featured builds available for Linux, Windows, macOS (including MacVim), and other platforms.
Vim was created and led for decades by Bram Moolenaar (died August 2023). Version 9.1 (January 2024) is dedicated to him. Development continues under the Vim project with active maintainers (notably Christian Brabandt as a visible project lead on announcements). As of mid-2026, the current line is Vim 9.2 (released 14 February 2026), with ongoing patch releases (e.g. homepage notes around 9.2.0804). A GTK 4 GUI backend landed in master (patch line around 9.2.0501, announced May 2026) as an opt-in build alongside GTK 2/3.
Primary job-to-be-done: edit text with a keyboard-centric modal model (Normal / Insert / Visual / Command-line) so experienced users can navigate and transform files without leaving the home row or a remote SSH session. Vim is not a full IDE out of the box; it is a composable editor that grows into one via scripts, packages, LSP clients, and external tools.
Charityware, not SaaS: Vim costs $0 to download and use. The project is Charityware—you are free to use it unrestricted and are encouraged to donate to support children in Uganda (historically ICCF Holland; sponsorship transitioned to Kuwasha after Bram’s death). License details: :help uganda / uganda.txt on vimhelp.org.
Key features
- Modal editing (Vi compatibility + improvements) — Operators, motions, text objects, Visual mode, and multi-level undo. “Vi in the fingers” still works; Vim adds persistent undo trees, command-line history, extensive help, and far more.
- Vim9 script — A faster, more structured scripting language introduced in Vim 9.x. 9.2 deepens it with enums, generic functions, tuples, object methods on built-ins, protected
_new(), and:defcompile. Legacy Vimscript remains supported. - Syntax, indent, and hundreds of filetypes — Built-in and runtime syntax/indent for programming languages and formats; plugin system and vim.org scripts ecosystem (thousands of scripts historically hosted/downloaded).
- Search, substitute, and macros — Powerful regex search/replace, recording with
q, global commands, and quickfix/location lists for compiler/linter workflows. - Windows, tabs, and buffers — Splits, tab pages, buffer lists; 9.2 adds a vertical tabpanel alternative to the horizontal tabline.
- Diff mode upgrades (9.2) —
linematchin'diffopt'for better line alignment;'diffanchors'to split and align sections; improved inline highlighting (inline:char/ word / simple)—character-level granularity is part of modernized defaults. - Completion (9.2) — Fuzzy matching in insert completion; register completion (
CTRL-X CTRL-R); finer'completeopt'flags such asnosortandnearest. Scriptable fuzzy file/buffer/grep patterns appear in official release examples. - Platform modernity — Wayland UI/clipboard support; XDG Base Directory paths on Unix (
$HOME/.config/vimfor user config); MS-Windows GUI dark mode for menus/title bars, better fullscreen and toolbar icons; High-DPI-oriented defaults (e.g. GTK default font size raised). - Terminal, jobs, channels, popups — Built-in terminal window, async job/channel APIs, popup windows—foundation for modern plugins without forking the editor.
- Native packages (since Vim 8) —
packpath/~/.vim/pack/*/start|optwithout a mandatory third-party manager; many users still prefer vim-plug or git submodules. - GUI options —
gvimwith GTK (2/3, experimental GTK 4), Windows GUI, MacVim; mouse and menus available while keeping keyboard-first workflows. - Learning path — Classic
vimtutor(~1 hour); 9.2 also ships an interactive :Tutor plugin experience. Full user manual via:help user-manual/ vimhelp.org. - Integrations via ecosystem — Git (e.g. vim-fugitive), fuzzy finders (fzf.vim), lint/fix (ALE, coc.nvim, vim-lsp, Vim9 LSP plugins), tree explorers (NERDTree / netrw), and AI plugins (community FIM/Ollama-style scripts on vim.org).
Pricing
Vim is free and open source. There is no subscription, seat license, or usage meter. You pay $0 for the editor itself.
| Path | Cost | Notes |
|---|---|---|
| Vim core (source / distro packages) | $0 | Vim license (GPL-compatible charityware terms) |
| Linux packages (apt, dnf, pacman, etc.) | $0 | Often preinstalled as vi/vim-tiny; install full vim / vim-gtk3 for more features |
| macOS / Homebrew / MacVim | $0 | System vim may be older; brew or MacVim for current builds |
| Windows (installer, Chocolatey, Scoop) | $0 | Official win32 installer builds on GitHub |
| Optional sponsorship | Donation | Encouraged via vim.org sponsor → Kuwasha / Uganda support; not required to use Vim |
| Commercial “Vim Pro” SaaS | N/A | Does not exist for core Vim |
Indirect costs are time (learning curve, config maintenance) and optional tools (LSPs, Node for coc.nvim, fonts/terminals). Unlike commercial IDEs, there is no annual renewal for the editor binary.
Distro lag: Enterprise Linux or default macOS vi may be years behind 9.2. For security patches and new features, install from distro updates, Homebrew, official Windows builds, or compile from the GitHub repo—and keep patching.
Limits & gotchas
- Steep learning curve — Modal editing and dense commands punish casual “click and type” habits. Without vimtutor and deliberate practice, productivity dips before it rises. Meme culture about “how to exit Vim” is real for first-time users (
:q/:wq/ZZ). - Not an out-of-box IDE — Language intelligence, debug UIs, and polished project explorers require plugins or external tools. Neovim’s Lua plugin ecosystem and built-in LSP client attract users who want modern defaults faster.
- Plugin dual-ecosystem — Many new plugins target Neovim first (Lua APIs). Vim still has a huge classic ecosystem and Vim9-native work, but some “bleeding edge” configs assume Neovim.
- Config sprawl — A decade of
.vimrc/ plugin pin versions can become fragile. Native packages and minimal configs help; “dotfiles as identity” can still consume weekends. - Default modernizations can surprise — 9.2 changed several long-standing defaults (
'history'50→200, sensible'backspace', richer'diffopt','showcmd'/'ruler'on, larger GTK font). Scripts that assumed old defaults may need review. - XDG path migration — Config under
~/.config/vimon Unix when following XDG can confuse users who only know~/.vimrc. Check:versionand help for your build. - Security surface — Historical CVEs cover modelines, plugins (e.g. zip.vim), buffer issues, and Windows search-path execution (e.g. CVE-2025-66476). Treat untrusted files carefully; disable risky modeline behavior if policy requires; apply distro/security updates promptly.
- GUI/build flags matter — Feature set depends on compile-time options (
+clipboard,+python3, GUI backend). Minimalvim.tinyis not full Vim. - Remote-only reality — On servers without a GUI or with limited terminal capabilities, some UI plugins degrade; plain Vim remains excellent for SSH, which is also why it stays installed everywhere.
Community sentiment
Vim’s community is mature and multi-channel: r/vim, Libera #vim, vim-dev/vim-use mailing lists, Vi and Vim Stack Exchange, and the Tips Wiki. Sentiment in 2024–2026 “Vim vs Neovim” threads is consistent:
- Stay on Vim if you value stability, ubiquity (installed on almost every Unix box), Vi compatibility, crypt features Neovim dropped, or a config that already works. Users often call Vim “the tool that is already there” for production servers and recovery shells.
- Switch to Neovim if you want Lua-first configuration, built-in LSP, faster plugin iteration, and a denser modern config ecosystem. HN and Reddit often frame Neovim as “Vim for people building IDEs out of editors.”
- Both camps agree the language of modal editing is the real skill; muscle memory transfers. Debates about longevity after Bram’s death have softened as Christian Brabandt and contributors continued 9.1/9.2 releases and security maintenance.
“Vim is more stable simply because it changes less often. Neovim is constantly improving its APIs, and that can break stuff.” — common Hacker News framing when comparing upgrade risk.
Debian popcon-style discussions historically show far more installs of distro vim packages than neovim—partly because vim-tiny/vi is default infrastructure, not only because of fandom. Plugin managers: vim-plug remains a popular recommendation; native pack/ is enough for many; Pathogen is largely legacy.
Reviews and roundups (tech press, Opensource.com, freeCodeCamp, G2/AlternativeTo-style listings) still place Vim among core developer tools: not the friendliest GUI, but unmatched for keyboard efficiency and remote work once learned.
Who should use it
- Developers and sysadmins who live in terminals, SSH, and git—and want the same editor on laptops and production hosts.
- Keyboard-centric editors willing to invest hours upfront for long-term speed (motions, operators, macros, quickfix).
- Teams standardizing on vi-compatible skills so anyone can fix a config on a minimal server without installing an IDE.
- Users who need offline, free, zero-telemetry editing without cloud accounts.
- Plugin authors and scripters interested in Vim9 language features for maintainable plugins.
- Not ideal for people who want a zero-config graphical IDE, pure mouse workflows, or a product with vendor support SLAs—use JetBrains, VS Code/Cursor, or a managed cloud IDE instead (optionally with a Vim keybinding plugin).
Alternatives
- Zed — Modern GPU-oriented GUI editor; collaborative features; different paradigm than modal TUI Vim.
- JetBrains IDEs — Full IDE productivity (refactor, debug, project model) with optional IdeaVim; paid for commercial use.
- Cursor — AI-native VS Code fork; Vim mode available but product is agent/GUI-first.
- GitHub Copilot — AI completions in mainstream IDEs; often paired with VS Code rather than replacing Vim.
- Aider — Terminal AI pair programmer that pairs well with Vim (watch mode / separate terminal) rather than replacing it.
- Neovim — Community fork with Lua, built-in LSP, and aggressive plugin ecosystem; best “same muscle memory, modern platform” alternative (see Vim vs Neovim).
- Helix / Kakoune — Modal editors with different selection models and batteries-included defaults; less ubiquitous than Vim on servers.
- Emacs — Extensible environment-as-OS; opposite philosophy (Lisp, longer-lived sessions) for power users who prefer it.
- VS Code / VSCodium — Dominant GUI editor; Vim keymaps via extensions if you need both worlds.
Related on VersusTools: Vim vs Neovim.
Verdict
Vim in 2026 is not a museum piece. With 9.2, the project is still shipping substantive editor features—Vim9 language growth, better diffs, fuzzy completion, Wayland/XDG, GUI modernization, and active security patching—while keeping the contract that made it ubiquitous: free, portable, fast over SSH, and scriptable for life.
Choose Vim when ubiquity, stability, and a battle-tested modal core matter more than the newest Lua plugin fashion. Choose Neovim when you want a modern IDE-like config surface and don’t mind a separate binary. Choose a GUI IDE when your job is dominated by debugger UIs, enterprise refactors, or AI agents—and keep Vim keybindings if the modal habit still pays rent.
Bottom line: install a full-featured build, run vimtutor or :Tutor, keep security updates current, and only grow plugins as fast as you can maintain them. The editor is free; skill is the real license fee—and it transfers across decades of machines.
Alternatives
Best Alternatives to Vim
More in general