fedit

fedit

Edit files in the terminal. Small. Written in F#.

Install fedit View on GitHub

One-line install on macOS, Linux, and Windows. See below.

^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^

what

native and quick

NativeAOT is the default release: roughly 7 MB and about 10 ms to first paint on the reference machine

language servers

stdio LSP clients provide diagnostics, hover, definitions, references, Ctrl+Click, and jump-back

tree-sitter

syntax highlighting for 25 languages plus structural expand and shrink selection

semantic macros

record actions and command outcomes, replay async steps safely, and persist registers as plain text

F# plugins

trusted plugins run in a separate .NET host and return typed actions over a JSON-RPC boundary

hex + binary

detect binary files, edit raw bytes in a hex grid, search and replace, then save byte-for-byte

terminal-native input

keyboard protocols, mouse placement and drag selection, multi-click selection, and Ctrl+Click navigation

workspace editing

piece-table buffers, file tree, live watcher, command palette, search, clipboard, and thirteen themes

install

macOS

# homebrew
$ brew install helgesverre/tap/fedit

# or the install script
$ curl -fsSL https://fedit.dev/install.sh | sh

Both detect your CPU (arm64 / x64). Homebrew updates via brew upgrade fedit; the script installs to ~/.local/bin.

linux

$ curl -fsSL https://fedit.dev/install.sh | sh

Detects your CPU, verifies the checksum, and installs to ~/.local/bin. Set FEDIT_VERSION to pin a release. Homebrew on Linux works too. Or grab the tarball by hand.

windows

> irm https://fedit.dev/install.ps1 | iex

Installs to %LOCALAPPDATA%\Programs\fedit and adds it to your user PATH. Or download the fedit-x86_64-pc-windows-msvc.zip and extract it onto your PATH.

flags

--log <path>
append a UTC-timestamped trace of every Msg and Effect to the file — for debugging without polluting the TUI