Interestingly, #FreeBSD comes with #nvi2 in base, while #OpenBSD and #NetBSD seem to be running #nvi 1:
FreeBSD 14.3-RELEASE-p12
~
~
~
Version 2.2.2 (2025-10-08) The CSRG, University of California, Berkeley.
OpenBSD 7.3
(7.9 is still running the same version)
~
~
~
Version 1.79 (10/23/96) The CSRG, University of California, Berkeley.
NetBSD 10.1
~
~
~
Version (1.81.6-2013-11-20nb4) The CSRG, University of California, Berkeley.
They all seem to have nvi2 available as packages, though, which #Debian, oddly, does not.
rld@Intrepid:~$ uname -sr
FreeBSD 14.3-RELEASE-p12
rld@Intrepid:~$ pkg search nvi |grep '^nvi2'
nvi2-2.2.2 Updated implementation of the ex/vi text editor
rld@Intrepid:~$
#(searching openbsd online)
rld@Intrepid:~$ searchall -o nvi |grep ^nvi
nvi-2.2.2 (list) with wide and files limited by
nvi-2.2.2-iconv (list) with wide and files limited by
[email protected]$ uname -sr
NetBSD 10.1
[email protected]$ pkgin search nvi |grep ^nvi |grep -v nvidia
nvi-1.81.6nb13 Berkeley nvi with additional features
nvi-m17n-1.79.20040608nb11 Clone of vi/ex, with multilingual patch
nvi2-2.2.0 Multibyte fork of the nvi editor for BSD
[email protected]$
~ $ head -1 /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 13 (trixie)"
~ $ apt-cache search nvi |grep -E '^nvi2? '
nvi - 4.4BSD re-implementation of vi
~ $
You can resize horizontal splits with :res[+-]size
There doesn't seem to be a way to resize vsplits. XD
Oh...😅... any resize to the vi window itself causes all of the spits to go into the background. That's fun.
Confirmed that there's no :vs in OpenBSD vi. It does have :res+n.
The #NetBSD vi does have vsplits, though, and it even draw a pretty pipe character so you can see it more clearly ;)
It also accepts the :res command.
It's a bit of a shame that this fella went to all of that trouble digging through Illumos.
https://youtube.com/v/tUqHsv6JarY?lc=UgwAiVOVkz-sP_j-H7J4AaABAg
#Illumos is one of the few platforms that does not have the <sys/ttydefaults.h> header from 4BSD. It was ironically quite the wrong place to look. The GNU and musl C libraries have the header, as do all of #FreeBSD, #OpenBSD, and #NetBSD.
The problem is that although <sys/ttydefaults.h> has been around since 1983 (1993 in its current form), almost no-one, apart from people like me who write terminal emulators and whatnot and cannot just use cfmakesane(), knows that it is there. It isn't in any manual.
Which leads to things like stty in GNU coreutils going all around the houses to do something simple, too.

Is http://bxr.su dead?
Copying Remote Command Output to Your macOS Clipboard
A small trick to copy command output from a remote ssh session directly into the local macOS clipboard, using OSC 52 and a tiny shell script.
https://it-notes.dragas.net/2026/05/26/copying-remote-command-output-to-your-macos-clipboard/
#ITNotes #macOS #Mac #Apple #shell #ssh #Linux #FreeBSD #NetBSD #OpenBSD #illumos #Terminal #Clipboard
»Talking about the project image, this is devastating! No really, we use macOS while pretending to develop #FreeBSD? Is this a joke or what?
I must say I find #NetBSD and #OpenBSD better engineered, they work in a stable manner on the hardware they support. I was scratching my head about why (after all they are BSDs too and they, more or less, take some code from Linux, especially in the DRM department). Now I understand why!«