A powerful terminal text editor and IDE.
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh
Copied
Instant startup. Text appears as you type. Small memory footprint. Stays responsive on multi-GB files and remote editing over SSH.
Split-panel review with staged / unstaged / untracked files on the left and the selected diff on the right. Stage, unstage or discard individual hunks; leave line comments and session notes; export to Markdown. Side-by-side diff view for file comparisons.
Run multiple LSP servers per language (for example pylsp + pyright) with feature routing and merged completions. Per-project workspace roots detected from configurable markers like Cargo.toml or package.json.
node_modules, site-packages, .cargo)Start a named session, detach and reattach across terminal disconnects. The --wait flag blocks until the buffer is closed, which lets Fresh serve as git core.editor or $EDITOR. Hot Exit persists every buffer across restarts and crashes.
fresh -a myproject)--wait for commit messages, rebases and scripted flowsOpen files on an SSH host with fresh user@host:path. Connections reconnect in the background if they drop. Saves to large files transfer only the patch, not the whole file.
Plugins are compiled with OXC and run in an embedded QuickJS VM, sandboxed and shipped inside the same binary. No node_modules on disk. Packages are installed from the official registry; language packs bundle a grammar, settings and LSP config together.
--initBoth sides of the status bar are configurable via a visual picker, with reorderable elements including a {clock}, git branch and LSP status. Themes are edited live. The interface is translated into several languages including Japanese, Korean, Chinese and Vietnamese.
Command palette with prefix routing (> commands, # buffers, : lines). Keybinding editor with conflict detection and per-context bindings. Full mouse support.
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh
One-line install. No toolchain required.
brew install sinelaw/fresh/fresh-editor
winget install fresh-editor
npx @fresh-editor/fresh-editor
Or global: npm install -g @fresh-editor/fresh-editor
Linux, macOS, Windows, FreeBSD binaries on
GitHub Releases. Drop anywhere on $PATH.
cargo install --locked fresh-editor
If you already have a Rust toolchain.
fresh -a)--wait for git core.editor / $EDITOR--init{clock} elementOut of the box this is the best new TUI editor I've tried, probably ever.
I had given up hope on ever finding an editor like this. WOW.
The multi-cursor experience is the smoothest I've seen in a terminal based editor.
I REALLY love this thing, especially the efficiency and speed. Gonna start using it daily.
I really enjoy the command palette, the open file menu and the multi cursor. It's well thought, really intuitive.
Everybody loves fast and responsive software. I have to say... I really like it.