# flowcontrol

> TUI text editor built with Zig, featuring tree-sitter syntax highlighting, LSP support, and multiple keybinding modes

Stars: 2.5k · Language: Zig · License: MIT · Categories: Editor

- Repository: https://github.com/neurocyte/flow
- Website: https://flow-control.dev
- Page: https://www.trmn.sh/tools/flowcontrol

## Install

- Build from source: `zig build -Doptimize=ReleaseSafe`

## Overview

Flow Control is a terminal-based text editor written in Zig that provides sub-6ms frame times with animated scrolling and low-latency input handling. The editor supports over 70 programming languages through tree-sitter syntax highlighting with zero configuration required, and includes pre-configured Language Server Protocol support for most language servers.

The editor features a comprehensive UI with tabs, scrollbars, palettes, and full mouse support. It supports powerful multi-cursor editing, integrated clipboard history, and infinite undo capabilities. Flow Control uses a hybrid rope/piece-table buffer system that can handle very large files with thousands of cursors efficiently.

Flow Control accommodates different editing preferences through multiple pre-configured keybinding modes including Flow Control (GUI IDE style similar to VS Code), Emacs, Vim, and Helix modes. Users can also create custom keybinding configurations. The editor runs on Linux, FreeBSD, macOS, Windows, and Android (via Termux) and supports cross-compilation to all targets.

The editor requires a modern terminal with 24-bit color support and ideally kitty keyboard protocol support, with Kitty, Foot, and Ghostty being the recommended terminals. It also requires NerdFont support and a UTF-8 locale for optimal functionality.

### Installation

```bash
# via Build from source
zig build -Doptimize=ReleaseSafe
```

![Flow Control editor announcement](https://media.trmn.sh/cached/20d93de5ffb20b9eda174624e342493a2e575613bd82120fbd14921c0ee783dc.jpg)

## Alternatives

- [durdraw](https://www.trmn.sh/tools/durdraw.md): ASCII, Unicode and ANSI art editor for Unix-like systems with frame-based animation support (1.9k stars)
- [amp](https://www.trmn.sh/tools/amp.md): Vi/Vim-inspired terminal text editor built in Rust with simplified interaction model and modern features. (4.1k stars)
- [dawn](https://www.trmn.sh/tools/dawn.md): Terminal-based markdown editor with live rendering, math support, and distraction-free writing features (484 stars)
- [csvi](https://www.trmn.sh/tools/csvi.md): Terminal CSV editor with vi-style navigation and minimal change tracking for clean diffs (188 stars)
- [Fresh](https://www.trmn.sh/tools/fresh.md): Terminal text editor with VS Code-style keybindings, mouse support, LSP, multi-cursor editing, and a command palette that requires no configuration. (Rust, 9.4k stars)

## Guides

- [Neovim Alternatives](https://www.trmn.sh/alternatives/neovim): Neovim alternatives compared: Helix, micro, Flow Control and amp. Modal and non-modal terminal editors with built-in LSP and tree-sitter.
- [Best Terminal Text Editors](https://www.trmn.sh/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.

---

Canonical: https://www.trmn.sh/tools/flowcontrol
