Best Terminal Text Editors

Compare Neovim, Helix, Amp and Flow Control: terminal text editors with modal or Vim-style keybindings, LSP, and tree-sitter support.

Updated

short verdict

Pick Neovim if you want Vim compatibility with Lua scripting and existing plugins. Pick Helix for selection-first editing with LSP and tree-sitter built in. Amp suits Vim users who want less configuration, and Flow Control suits people who want to switch between Vim, Helix, Emacs or VS Code-style keybindings.

A modal terminal editor is judged on three things: how closely it follows Vim's keys, how much setup it needs before it handles code, and how far you can extend it. Neovim keeps Vim's plugin and config model. Helix reverses Vim's verb-object order and ships language tooling. Amp trims the Vi model down, and Flow Control offers several keybinding modes in one editor.

this page is for

  • Vim users choosing a terminal editor to keep or replace
  • Developers who want LSP and syntax highlighting without plugin setup
  • People who want modal editing with little configuration
  • Users who switch between keybinding styles
#1

Neovim

★ 103.2kC
details

The default choice if you want Vim's editing model, existing Vim plugins and Lua scripting in one terminal editor.

best for

  • Vim users migrating existing configs
  • Users who want a scriptable, plugin-driven editor

strengths

  • Compatible with most Vim plugins and Vimscript configs, so migration needs few changes
  • Built-in Lua scripting plus API access from Python, JavaScript, Go and Rust
  • Async job control and an embedded scriptable terminal emulator
  • Packages for Windows, macOS and Linux via Homebrew, Debian, Ubuntu, Fedora and Arch

weaknesses

  • Language tooling and the rest of your setup come from configuration and plugins that you assemble
  • Building from source requires CMake and make
#2

Helix

★ 46.7kRust
details

A Rust editor with Kakoune-style selection-first editing and built-in LSP and tree-sitter, so it works on code with little configuration.

best for

  • Developers who want LSP features without plugin setup
  • Users who want multiple selections as the core editing model

strengths

  • Built-in LSP support for completion, diagnostics and go-to-definition
  • Tree-sitter syntax highlighting and indentation queries
  • Multiple selections for simultaneous edits across a file
  • Needs little configuration to be usable

weaknesses

  • Selection-first model differs from Vim's verb-object order, so Vim muscle memory only partly transfers
  • Indentation coverage varies by language (see runtime/queries)
  • Not compatible with Vim plugins or Vimscript configs
#3

flowcontrol

★ 2.5kZig
details

A Zig editor with Vim and Helix keybinding modes, tree-sitter highlighting for over 70 languages and pre-configured LSP.

best for

  • Users who want to try Vim, Helix or Emacs keys in one editor
  • Users editing very large files or using many cursors

strengths

  • Pre-configured keybinding modes: Flow Control, Emacs, Vim and Helix, plus custom configs
  • Tree-sitter highlighting for over 70 languages with zero configuration
  • Hybrid rope/piece-table buffer handles large files with thousands of cursors
  • Runs on Linux, FreeBSD, macOS, Windows and Android via Termux

weaknesses

  • Needs a terminal with 24-bit color, a NerdFont and a UTF-8 locale; kitty keyboard protocol is preferred
  • Installation shown is a source build with zig build -Doptimize=ReleaseSafe
  • Vim is one mode among several, so it is not a Vim-first editor
#4

amp

★ 4.1k
details

A Rust editor that keeps Vi/Vim's modal model but drops most of the configuration, for Vim users who want a simpler setup.

best for

  • Vim users who find advanced Vim configuration a burden
  • Developers who want a small modal editor with built-in syntax highlighting

strengths

  • Uses Vi/Vim's core interaction model, so the basics are familiar
  • Reduced configuration overhead compared with typical Vim setups
  • Core in a standalone crate, scribe, for data structures, syntax highlighting and workspace management

weaknesses

  • Simplified model means fewer Vim features than Neovim
  • No LSP support is described by the project
  • Smaller user base than Neovim or Helix

How to choose

Match the deciding factor to the editor that handles it best.

  • Keeping existing Vim plugins and config: Neovim runs most Vim plugins and Vimscript configs.
  • Language tooling out of the box: Helix ships LSP and tree-sitter with no plugins.
  • Choice of keybinding style: Flow Control has Vim, Helix, Emacs and VS Code-style modes.
  • Least configuration with Vi-style keys: Amp keeps the Vi/Vim model and drops advanced setup.
  • Scripting and integrations: Neovim has built-in Lua and API access from several languages.

When not to use these

  • You need a mature plugin ecosystem in an editor you do not have to configure; none of these is turnkey for that.
  • Your terminal lacks 24-bit color or NerdFont support and you cannot change it, which rules out Flow Control.

FAQ

Which terminal editor is closest to Vim?
Neovim is a fork of Vim and keeps compatibility with most Vim plugins and Vimscript configs. Amp also follows Vi/Vim's interaction model, in a simplified form.
Which editor has LSP built in?
Helix has built-in LSP support for completion, diagnostics and go-to-definition. Flow Control also includes pre-configured LSP support for most language servers.
Can I use Vim keybindings outside Neovim?
Yes. Flow Control has a Vim keybinding mode, and Amp uses Vi/Vim-style modal editing. Helix uses its own selection-first model.