Paul Fox describes the early vile history
this way:
vile's design goal has always been a little
different than that of the
other clones.
vile has never really attempted
to be a "clone" at
all, though most people find it close enough. I started it because in
1990 I wanted to to be able to edit multiple files in multiple windows,
I had been using vi for 10 years already, and the sources to
Micro-EMACS came floating past my newsreader at a job where I had too
much time on my hands. I started by changing the existing keymaps in
the obvious way, and ran full-tilt into
the "Hey! Where's 'insert'
mode?" problem. So I hacked a little more, and hacked a little more,
and eventually released in '91 or '92.
(Starting soon thereafter,
major version numbers tracked the year of release: 7.3 was the third
release in '97.)
But my goal has always been to preserve finger-feel (as opposed to the
display visuals), and, selfishly, to preserve finger-feel most for the
commands I use.
vile has quite an
amazing ex mode, that
works very well—it just looks really odd,
and a couple of commands
which are beyond the scope of the current parser are missing. For the
same reasons, vile also won't fully parse
existing .exrc files, since I
don't really think that's so important—it does simple ones,
but more sophisticated ones need some tweaking.
But when you toss in vile's
built-in command/macro language, you quickly forget you ever cared
about .exrc.
Tom Dickey started working on vile in December of 1992,
initially just contributing patches, and later doing more
significant features and extensions, such as line numbering,
name completion, and animating the buffer list window.
Tom states that "Integrating features together is more important
to my design goals than implementing a large number of features."
In February of 1994, Kevin Buettner started working on vile.
Initially, he supplied bug fixes for the X11 version,
xvile, and then improvements, such as scrollbars.
This evolved into support for the Motif, OpenLook, and Athena
widget sets. Because, surprisingly, the Athena widgets were
not "universally available in a bugfree form," he wrote a
version that used the raw Xt toolkit.
This version ended up providing superior functionality to the
Athena version.
Kevin also contributed the initial support in vile for
GNU Autoconf.
Currently, vile maintenance is done "by committee,"
with Tom Dickey being the primary maintainer.
Paul manages the mailing lists.
For the near term, future work will focus on improving the Perl
integration, and enhancing the major mode concept (discussed below).