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

Chris and John Downey

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 153925 6208 3976 164109 1728 KB Yes
nvi 404612 2884 352 407848 4152 KB Yes
elvis(*)505984 29864 21392 557240 4424 KB No
elvis-tiny81561 2448 27200 111209 1548 KB No
vile 982633 12704 49288 1044625 3464 KB No
vim 2314894 79708 33084 2427686 4884 KB Yes
vim-tiny 980610 42888 14928 1038426 3608 KB Yes
*) 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, 98872 bytes. elvis-tiny with clang -Os is a mere 62439 bytes.



Official executable binaries are available for:
O/Sxvi versionFiles
Linux 2.49 32-bit tarball
64-bit tarball
Debian/Ubuntu for i386
Debian/Ubuntu for amd64
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