Help us shape the future of Go! Take the 2026 Go Developer Survey

nved

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2026 License: MIT Imports: 10 Imported by: 0

README

nved

A small terminal text editor that feels like a REPL rather than a full-screen application. You 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.

nved is a from-scratch descendant of ved, an ed clone. Where ved replays commands against text, nved lets you move a real cursor through committed lines and change them directly. It is deliberately small and single-purpose — one window, one buffer — and best suited to dialing in a specific part of a file by line number, not to scrolling through large files.

Install

On Debian or Ubuntu, add the Excelano apt repository once and updates flow through apt upgrade:

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

With a Go toolchain:

go install github.com/excelano/nved@latest

Build from source

git clone https://github.com/excelano/nved
cd nved
go build -o nved .

Requires Go 1.25 or newer.

How it works

Start nved with a file name, or with no argument for an empty unnamed buffer. At the > prompt you address lines the way you would in ed:

Command Effect
N print line N
N,M print lines N through M
N, print from line N to the end
,N print from the start to line N
, print the whole file
$ print the last line
s [name] save; a name is required when unnamed (also Ctrl+S)
x exit without saving, warns once when dirty (also Ctrl+X)
h show the command and key reference (also H, ?)

Out-of-range numbers clamp to the nearest valid line. A range taller than the terminal prints one screenful from the top; Page-Up and Page-Down reprint the screenful above or below so you can walk through it.

The printed block sits just above the prompt. Climb into it to edit:

  • Up lands on the bottom line, Left at the end of the last line, Ctrl+Home on the first line.
  • Arrows move the cursor; Ctrl+Left / Ctrl+Right skip by words; Home / End and Ctrl+Home / Ctrl+End jump to the edges.
  • Enter splits a line, Backspace and Delete join lines, typing inserts.
  • Ctrl+U undoes the last edit within the session.
  • Leave the editor with Esc or Ctrl+C, or by stepping off the bottom (Down) or off the end of the last line (Right) — the mirror of how you climbed in.

Long lines are word-wrapped by nved itself, with a continuation indent that lines the wrapped text up under the gutter. Edits stay inside the printed block; to edit elsewhere, print that range and climb into it.

License

MIT — see LICENSE. Authored by David Anderson, with AI assistance.

Documentation

Overview

Command nved is a REPL-flavored terminal text editor — "new ved".

Slice 2: the editor core. On top of slice 1's command REPL it adds climbing into the most-recently-printed block to edit it in place — cursor movement, insert, Enter-split, Backspace/Delete-join — with ANSI block redraw over the real (scrolling) terminal rather than an alternate screen.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL