A portable multi-file text editor
the smallest full-function vi clone

Chris and John Downey

30th April 2017: xvi 2.50 is out, with many of bug fixes and improvements. See the release notes, download the source code from from sourceforge, see the source code on github or fetch it from the downloads section below.
7th June 2017: 2.50.3 is the latest release, which imports bug fixes from the main branch.

Xvi is a portable multi-window version of the UNIX editor ‘vi’, derived from "STEVIE" in the 1980s.

The program was originally developed for the Atari ST, but has been ported to AIX, BSD, HP-UX, MS-DOS, OS/2, QNX, Solaris, SunOS, Sunview, System V, Windows NT and Xenix/386 as well. In spite of its name, there is, as yet, no X-Windows-specific version of it.

It uses text windows separated by horizontal status lines on character mode displays and the windows may represent different files being edited, or different views on to the same file.

Xvi is the full-feature vi clone with the smallest program size (under 100 Kbytes, compiling with clang -Os) and memory use.
  Program size under x86 Linux
(Debian squeeze, hence gcc-4.9 -O2)
Text Data BSS Total When running
xvi 157394 5748 3304 166446 1612 KB Yes Yes
ex/vi 218783 2518 51192 272493 1656 KB Yes No
nvi 404612 2884 352 407848 4152 KB Yes Yes
elvis(*)505984 29864 21392 557240 4424 KB No SEGV
elvis-tiny81561 2448 27200 111209 1548 KB No No
vile 982633 12704 49288 1044625 3464 KB No No
vim 2315002 79708 33084 2427794 4792 KB Yes No
vim-tiny 980746 42888 14928 1038562 3648 KB Yes No
*) From Debian wheezy, as elvis is not in squeeze.

Compiling xvi with gcc -Os gets the program text down to 104544 bytes; with clang -Os, 100406 bytes. elvis-tiny with clang -Os is a mere 62439 bytes.



Official executable binaries are available for:
O/Sxvi versionFiles
Linux 2.50.3 32-bit tarball
64-bit tarball
Debian/Ubuntu for i386
Debian/Ubuntu for amd64
MS-DOS 2.50.3 Zip file for MS-DOS
and there are binaries for various other systems on the contrib page.

The current source code release is

also available from SourceForge, while current development takes place on github.com.

Older releases of the source code are:


xvi is mentioned in
Maintainer: martinwguy@gmail.com SourceForge.net Logo