Skip to content

Ink

A Vim-style editor for values that need one more pass before they enter a shell pipeline.

Ink adds a compact interactive editing step to terminal workflows. Standard output carries only the accepted value while the interface talks directly to the controlling terminal.

Single-line input

ink input edits exactly one logical line.

Multiline textarea

ink textarea supports line breaks and a scrolling viewport.

Vim-style editing

Normal, Insert, and Visual editing include line and block selections.

Clean composition

On acceptance, standard output contains only the edited value and a final newline.

Use ink input for compact values and ink textarea for prose or structured multiline text. Seed either prompt from --value or a pipe, edit with familiar Vim motions, and pass the accepted result to the next command. Bundled themes, semantic color overrides, shell completions, and validated configuration keep Ink at home in existing terminal setups.

  • Composable: UI traffic stays off standard output.
  • Predictable: command-line options override user configuration, which overrides built-in defaults.
  • Text-correct: edits operate on visible grapheme clusters instead of bytes.
  • Recoverable: terminal state must be restored after acceptance, cancellation, errors, or caught panics.
  • Legible: mode names are visible as text and do not rely on color alone.

Start with installation or inspect the CLI reference.