A tool from Excelano

nved

A line editor you can climb into.

A small terminal text editor that feels like a REPL rather than a full-screen application. Print a range of lines by number, climb into the printed block with the arrow keys, and edit it in place. There is no alternate screen and no takeover of your terminal — output scrolls normally and your scrollback stays intact, the way cat or an old line editor leaves it.

An nved session: printing a range of lines by number, climbing into the block, and editing a line in place at the prompt.

Print a range, climb in, edit in place

Start nved with a file and you're at a > prompt where you address lines by number: 42 prints line 42, 10.30 prints ten through thirty, tail brings the last screenful on screen, $-9.$ the last ten lines. The block prints just above the prompt — then you climb into it with the arrow keys and move a real cursor through the text, changing it directly. Enter splits a line, Backspace joins, Ctrl+U undoes, Ctrl+S saves in place without leaving. Step off the bottom and you're back at the prompt.

It is deliberately small and single-purpose: one window, one buffer, best suited to dialing in a specific part of a file by line number rather than scrolling through a large one. It is a from-scratch descendant of ved, the ed clone — where ved replays commands against text, nved lets you move a cursor through committed lines and edit them in place.

See it in action

Print a range, climb into the block, edit a line, and save — the prompt and your scrollback never leave the screen.

An animated nved session: printing a range of lines by number, climbing into the block with the arrow keys, editing a line in place, and saving.

New to this style of editing? The introduction takes you from the first prompt through addressing a range, climbing in to edit, and the column-aware CSV view — to a saved file.

It reads CSV, too

A .csv is just a text file, so nved opens it as plain text until you ask for more. Type csv and the printed block renders as aligned columns with a pinned header; climb in and you edit cell by cell, Tab moving field to field, the grid re-aligning as you type. Underneath the csv preset are independent switches — the delimiter, quoting, headers, the record separator — so a tab file is tsv and an ASCII-separated one is asv. The columns command draws a faint letter ruler over the grid, naming the columns A, B, C the way a spreadsheet does, so whole-column edits have something to point at. The display always shows the data raw: quoted cells keep their quotes, and the delimiter is drawn faint in the gap between columns, so you see exactly what separates the fields.

An nved CSV session: opening a roster file straight into the aligned column view, revealing the faint A B C letter ruler with the columns command, then climbing into the grid to rename a cell in place and save.

Install

nved is a single Go binary with nothing to install alongside it.

On Debian or Ubuntu

Add the Excelano apt repository once, so apt upgrade keeps it current:

curl -fsSL https://excelano.com/apt/setup.sh | sudo sh
sudo apt install nved

With Homebrew

On macOS or Linux, so brew upgrade keeps it current:

brew tap excelano/tap
brew trust excelano/tap   # one-time: Homebrew gates third-party taps behind explicit trust
brew install nved

From source

With a Go toolchain (1.25 or newer), go install github.com/excelano/nved@latest builds and installs it. The full source is on the GitHub page.

Behind the tool

Full-screen editors take over the terminal: they clear the screen, hide your scrollback, and hand it back only when you quit. nved keeps the conversation going instead — you print what you want to see, it stays on screen, and you climb into it to edit. It is the editor I reach for when I want to fix a few lines without losing the context around them, and I built it because that small, low-ceremony way of working didn't exist in the shape I wanted.

That instinct — sweat the small interactions, make the thing pleasant to live in — is what I bring to everything I build. If you want software made with that kind of care, that's the work I do.

Get in touch

For technical users

nved is open source under the MIT license, written in pure Go. The full source and design notes live at github.com/excelano/nved. Its older sibling, ved, is a drop-in ed clone in pure-stdlib Rust — same family, different surface.