HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
johnsonjh
OpenVi
C2022–2023
johnsonjh / OpenVi

OpenVi

OpenVi: Portable OpenBSD vi for UNIX systems

3Distinct people
6Mentions
0Explicit recommenders
200GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

OpenVi: Portable OpenBSD vi for UNIX systems

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month6 dated mentions

Observed mentions: 2022-02-19 06:56:10 UTC to 2023-08-26 09:15:59 UTC.

012342022-02-01 00:00:00 UTC to 2022-03-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 commentsFeb 20222022-03-01 00:00:00 UTC to 2022-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-01 00:00:00 UTC to 2022-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-05-01 00:00:00 UTC to 2022-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-06-01 00:00:00 UTC to 2022-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-07-01 00:00:00 UTC to 2022-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-08-01 00:00:00 UTC to 2022-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-09-01 00:00:00 UTC to 2022-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-10-01 00:00:00 UTC to 2022-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-11-01 00:00:00 UTC to 2022-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsNov 20222022-12-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2023-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-02-01 00:00:00 UTC to 2023-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-01 00:00:00 UTC to 2023-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-04-01 00:00:00 UTC to 2023-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-05-01 00:00:00 UTC to 2023-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-06-01 00:00:00 UTC to 2023-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-01 00:00:00 UTC to 2023-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-01 00:00:00 UTC to 2023-09-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsAug 2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 20222022-02-01 00:00:00 UTC2022-03-01 00:00:00 UTC413
Mar 20222022-03-01 00:00:00 UTC2022-04-01 00:00:00 UTC000
Apr 20222022-04-01 00:00:00 UTC2022-05-01 00:00:00 UTC000
May 20222022-05-01 00:00:00 UTC2022-06-01 00:00:00 UTC000
Jun 20222022-06-01 00:00:00 UTC2022-07-01 00:00:00 UTC000
Jul 20222022-07-01 00:00:00 UTC2022-08-01 00:00:00 UTC000
Aug 20222022-08-01 00:00:00 UTC2022-09-01 00:00:00 UTC000
Sep 20222022-09-01 00:00:00 UTC2022-10-01 00:00:00 UTC000
Oct 20222022-10-01 00:00:00 UTC2022-11-01 00:00:00 UTC000
Nov 20222022-11-01 00:00:00 UTC2022-12-01 00:00:00 UTC000
Dec 20222022-12-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
Jan 20232023-01-01 00:00:00 UTC2023-02-01 00:00:00 UTC000
Feb 20232023-02-01 00:00:00 UTC2023-03-01 00:00:00 UTC000
Mar 20232023-03-01 00:00:00 UTC2023-04-01 00:00:00 UTC000
Apr 20232023-04-01 00:00:00 UTC2023-05-01 00:00:00 UTC101
May 20232023-05-01 00:00:00 UTC2023-06-01 00:00:00 UTC000
Jun 20232023-06-01 00:00:00 UTC2023-07-01 00:00:00 UTC000
Jul 20232023-07-01 00:00:00 UTC2023-08-01 00:00:00 UTC000
Aug 20232023-08-01 00:00:00 UTC2023-09-01 00:00:00 UTC110

What Hacker News says

6 sources
The behavior of the traditional vi is much different than vim and other clones. Nvi was a actually a re-implementation of the traditional vi for 4BSD (to be clean of AT&T code) and thus was originally intended to be bug-for-bug compatible, but breaking away where the original vi behavior was nonsensical or terrible. For vim, `set compatible` or `set cp` is close, but still not traditional vi by any means. A multibyte variant of the traditional vi is maintained at https://github.com/n-t-roff/heirloom-ex-vi/. Nvi (now on version 1.8x) is also maintained - https://repo.or.cz/nvi.git Nvi2 is yet another fork of Nvi, https://github.com/lichray/nvi2 Despite the very similar names, all of these editors have a variety of different features, and are structured very differently. Nvi has a concept of a front-end and a back-end (which uses the BDB d
Read the rest
atabase). OpenVi uses the OpenBSD version of Berkeley DB which derives from 1.85. Nvi (1.8x) provides a minimal version of code also derived from that release intended from use with Nvi, and (IIRC) also provides support for using Db3/4/5. Similar situation for Nvi2. Nvi 1.8 has been structured where a third library layer has been added, which doesn't exist in OpenBSD's vi or OpenVi. There is scripting support (Tcl, Perl, etc.) and GUI code in the other various forks ... all of these support various different options as well. I should probably make a matrix of these, but you can get an idea by looking at the settable options implemented in each of the variants (as they historically include a comment to document from where the option originated): OpenVi: https://github.com/johnsonjh/OpenVi/blob/22c2a7022e31d91e09e... OpenBSD vi: https://github.com/openbsd/src/blob/master/usr.bin/vi/common... Nvi2: https://github.com/lichray/nvi2/blob/5fcdc13656500a8c5b4c073... Nvi1: https://repo.or.cz/nvi.git/blob/HEAD:/common/options.c#l52
In OpenVi: Portable OpenBSD vi for Unix systems
Hi, I'm the "perpetrator" responsible for OpenVi. Apologies to everyone! /s I've added details to the README to hopefully explain why it exists: https://github.com/johnsonjh/OpenVi#why The OpenVi ChangeLog at https://raw.githubusercontent.com/johnsonjh/OpenVi/master/Ch... includes all the history going back to 1993's Nvi 0.93. Nvi 1.79 was released in 1996, which is the version OpenBSD's vi was derived from. The ChangeLog entries are only a summary of the full commit messages - the complete details are in OpenBSD's CVS tree, and viewable a bit easier via GitHub (https://github.com/openbsd/src/commits/master/usr.bin/vi) Changes to the (OpenVi bundled) OpenBSD regular expression engine are not included in the legacy ChangeLog, but you can see that development in the CVS tree or via GitHub as well (https://github.com/openbsd/src/commits/mas
Read the rest
ter/lib/libc/regex). OpenVi also utilizes the OpenBSD version of Berkely DB (https://github.com/openbsd/src/commits/master/lib/libc/db).
In OpenVi: Portable OpenBSD vi for Unix systems
It isn't really an "old" version of Nvi by any means - the development went in a different direction. OpenBSD's vi has been developed mostly independently since being imported back in 1997. The documentation has been updated to explain the rationale - see https://github.com/johnsonjh/OpenVi#why In the 25 years since the "fork", OpenBSD vi has diverged significantly from Nvi1 (as Nvi2 has diverged from Nvi1 as well). It has grown much smaller and more compact - one might argue more focused. Much of the code has been simplified and many features removed, rather than added. Still, it has adopted features and taken some fixes back from Nvi1/Nvi2 versions and other variants, such as adopting support for expandtab from NetBSD's variant. You can get a good idea of the history of this particular fork by reviewing the ChangeLog at https://raw.gith
Read the rest
ubusercontent.com/johnsonjh/OpenVi/master/Ch... where the OpenBSD changes begin in 1997.
In OpenVi: Portable OpenBSD vi for Unix systems

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.