Ranked by what they are actually best at, not by market share. Every one of these is in daily professional use somewhere, and the right pick depends far more on how you work than on a feature checklist.
The default for good reasons: the largest extension ecosystem, the reference implementation of the Language Server Protocol, and remote development over SSH, containers and WSL that genuinely works. Electron-based, so it is heavier on RAM than the native options.
Modal editing, built-in LSP client, tree-sitter parsing and Lua configuration. Distributions like LazyVim give you a working setup in minutes instead of a weekend. Unbeatable over SSH on a server with no GUI.
IntelliJ, PyCharm, WebStorm and GoLand still have the best refactoring and the best debugger of anything here. Subscription-licensed, indexes large projects slowly, and worth it if you spend your day renaming things across a large typed codebase.
Written in Rust with GPU-accelerated rendering, and the input latency shows it. Built-in multiplayer editing and LSP support. The extension ecosystem is young, so check your language is covered before switching.
Modal like Vim but selection-first, with LSP, tree-sitter and multiple cursors built in and zero configuration required. One binary, no plugin manager. The trade-off is that there is no plugin system yet, so what ships is what you get.
Still the fastest thing here at opening a multi-gigabyte log file, and its multi-cursor and Goto Anything remain the model everyone else copied. One-time licence rather than a subscription. Smaller ecosystem than it once had.
Not really an editor so much as a Lisp environment with an editor in it. Org-mode and Magit are genuinely without equal, and Doom Emacs makes the on-ramp survivable. The learning investment is real and so is the payoff.
VS Code forks built around model-assisted editing, with repo-wide context and inline diffs. You keep VS Code's extensions. Worth trying if your work is heavy on boilerplate; check your organisation's policy on sending source to a third party first.
KDE's editor, native and light, with LSP support and a proper session manager. The best answer on Linux when you want something between a text editor and an IDE without an Electron process.
A terminal editor with normal keybindings — Ctrl+S saves, Ctrl+C copies. Single binary, no modal learning curve. The right thing to install on a server for the colleague who does not know Vim.
Pick on the constraint that actually binds you. Working over SSH on remote boxes: Neovim or Helix. Large typed codebase with heavy refactoring: a JetBrains IDE. Everything else, and especially mixed-language work: VS Code. Latency-sensitive and willing to accept a young ecosystem: Zed. Then stop evaluating — the productivity difference between the top four is far smaller than the cost of switching every six months.