- 论坛徽章:
- 0
|
Chapter 12. vile鈥攙i Like Emacs
vile stands for "vi Like Emacs." It started out as a copy of Version
3.9 of MicroEMACS that was modified to have the "finger feel" of vi.
There are currently three maintainers: Paul Fox, Tom Dickey, and
Kevin Buettner. The current version is 8.0; it is essentially the same
as 7.4, but with bug fixes. This chapter was written using vile.
12.1 Authors and History
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鈥攊t 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鈥攊t 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). |
|