# Install openvi with Homebrew, apk, Nix

Portable OpenBSD vi for UNIX systems. Version 7.9.33 via Homebrew; verified 2026-06-25. Also installable with nix: nix profile install nixpkgs#openvi.

## Install

```sh
sudo av install brew:openvi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install openvi
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add openvi
```

  Evidence: Alpine Linux edge package indexes: openvi from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#openvi
```

  Evidence: nixpkgs package indexes: pkgs/by-name/op/openvi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:openvi
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/openvi>
- **Version:** 7.9.33
- **Source summary:** Portable OpenBSD vi for UNIX systems
- **Homepage:** <https://github.com/johnsonjh/OpenVi>
- **Repository:** <https://github.com/johnsonjh/OpenVi>
- **Upstream docs:** <https://github.com/johnsonjh/OpenVi#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/johnsonjh/OpenVi/archive/refs/tags/7.9.33.tar.gz>
- **Last updated:** 2026-06-25T04:20:44Z
- **Generated:** 2026-07-25T07:20:51+00:00

## Executables

- oex (cli)
- ovi (cli)
- oview (cli)
- oex (alias)
- ovi (alias)
- oview (alias)

## Dependencies

- ncurses

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-25
- Package-manager version: 7.9.33
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/johnsonjh/OpenVi
- Upstream latest detected: 7.9.33 (current)
## Project history and usage

OpenVi is a portable packaging of the OpenBSD vi/ex editor for Unix-like systems outside OpenBSD. Its significance is preservation and portability rather than a new editor model: it gives package users a small BSD-licensed vi derived from OpenBSD base-system code.

### Project history

The OpenVi README describes the project as a fork of the vi/ex editor included with OpenBSD. That editor descends from nvi 1.79, the Berkeley ex/vi reimplementation associated with Keith Bostic, Sven Verdoolaege, and other CSRG contributors, and nvi itself traces back through Steve Kirkendall's Elvis editor.

OpenVi follows the common OpenBSD-portable pattern: take audited base-system code, add portability glue, and make it build on other Unix systems. Its README emphasizes readable code, secure C library idioms such as strlcpy, snprintf, mkstemp, and pledge where available, and a permissive BSD/ISC licensing mix.

### Adoption history

OpenVi's adoption footprint is niche. It is packaged by Homebrew, Alpine, and Nix for users who want OpenBSD's vi behavior without installing OpenBSD, but it does not appear to be a general editor ecosystem on the scale of Vim, Neovim, or nvi2.

Its most natural audience is package minimalists, BSD users working on non-BSD hosts, and developers who want a small vi with OpenBSD ancestry rather than plugin systems, scripting runtimes, or GUI layers.

### How it is used

The package installs ovi, oex, and oview so users can edit files, run ex commands, and inspect files with a vi-family tool. It is useful in lightweight shell environments, recovery setups, containers, and systems where a traditional vi is wanted with few moving parts.

### Why package nerds care

OpenVi is interesting because it packages a lineage rather than a feature race: Berkeley vi to nvi to OpenBSD vi to a portable downstream. For package nerds, that makes it a compact case study in base-system code being exported into package-manager space.

### Timeline

- 1996: nvi 1.79 becomes the ancestor named by the OpenVi README for OpenBSD vi.
- 2020s: OpenVi is distributed as a portable OpenBSD vi for Unix-like systems and appears in package managers including Homebrew, Alpine, and Nix.
- 2026: Homebrew packages OpenVi 7.7.32 with ovi, oex, and oview.

### Related projects

- OpenVi is related to OpenBSD vi, nvi, nvi2, Elvis, Vim, Neovim, and other small Unix editor ports that preserve traditional ex/vi behavior.

### Sources

- <https://formulae.brew.sh/formula/openvi>
- <https://github.com/johnsonjh/OpenVi>
- <https://github.com/lacamera/nvi>
- <https://man.openbsd.org/vi>
- source_facts.brew:openvi


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** openvi
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - openvi: normalized package name match | nixpkgs package indexes: pkgs/by-name/op/openvi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - openvi - 7.7.32-r0: normalized package name match | Alpine Linux edge package indexes: openvi from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OpenVi is a fork of the vi / ex editor included with OpenBSD | https://github.com/johnsonjh/OpenVi
- apk - openvi-doc - 7.7.32-r0: normalized package name match | Alpine Linux edge package indexes: openvi-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OpenVi is a fork of the vi / ex editor included with OpenBSD (documentation) | https://github.com/johnsonjh/OpenVi


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [ncurses](https://www.automicvault.com/pkg/brew/ncurses/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [ad](https://www.automicvault.com/pkg/brew/ad/) - Shares av.db curated category or tags: cli, productivity, text-editor, vi.
- [amp](https://www.automicvault.com/pkg/brew/amp/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [emacs](https://www.automicvault.com/pkg/brew/emacs/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [enter-tex](https://www.automicvault.com/pkg/brew/enter-tex/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [gedit](https://www.automicvault.com/pkg/brew/gedit/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [jupp](https://www.automicvault.com/pkg/brew/jupp/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [kibi](https://www.automicvault.com/pkg/brew/kibi/) - Shares av.db curated category or tags: cli, productivity, text-editor.
- [jove](https://www.automicvault.com/pkg/brew/jove/) - Shares av.db curated category or tags: cli, productivity, text-editor, unix.
- [le](https://www.automicvault.com/pkg/brew/le/) - Local package facts share a topical domain. Shared terms: cli, editor, productivity, text, text-editor.

## Combined YAML source

View the package source record on GitHub. [combined/openvi.yml](https://github.com/automic-vault/db/blob/main/combined/openvi.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
