Copyright © 1996-2012,2013 by Thomas E. Dickey
vile retains the "finger-feel", if you will, of vi, while adding the multiple buffer and multiple window features of emacs and other editors. It is definitely not a vi clone, in that some substantial stuff is missing, and the screen doesn't look quite the same. The things that you tend to type over and over probably work. Things done less frequently, like configuring a startup file, are somewhat (or very, depending on how ambitious you are) different. But what matters most is that one's "muscle memory" does the right thing to the text in front of you, and that is what vile tries to do for vi users.
See the vile FAQ
See the vile help-file
See this discussion of the vile icons
This is a never-ending project. I originally began in late 1992, after deciding that I was dissatisfied with the original vi limitation of 2 buffers. Looking around, I found only a few vi clones that addressed this limitation (the other was xvi, which wasn't sufficiently portable).
Paul Fox's vile was just what I wanted to use. However, there were a few minor problems with the display of lines shifted left/right. One thing led to another, and I found myself working on vile. Well, it's still what I want to use. Moreover, it's more portable (and reliable) than ever.
See the changelog for details:
There is a project mailing list. You can subscribe to it here:
To submit bug reports, either subscribe to the list (since non-subscribers aren't allowed to post) or use the bug system at that same URL.
These are links to the current release version of vile:
There are also installers for the Windows executables:
Some files are available via http:
Additional files, are available via ftp. The mirror at ftp.phred.org contains binaries for VMS and OS/2 EMX in addition to the more commonly requested ones:
Packages for vile may combine
xvile or they may be separate. The two programs
share files (such as the initialization scripts), which may be
provided in a separate package. The syntax filters likewise may
be in a separate package, either as executable programs, or as
dynamically loaded shared objects.