emacs variants. Features Command completion vile supports command completion for several elements of a command: the command name, filename, directory name, and mode values. Major modes Both vi and emacs have modes, which are settings which affect the behavior of the program. vile extends the vi modes such as list, number, etc., by providing three levels of mode: global, buffer and window. The buffer modes are associated with the buffer contents, e.g., line-terminators, read-only attributes. All of those modes are predefined. vile can be customized by defining majormodes, which combine specific settings of the buffer modes with an association to the file type. These majormodes have as well special modes such as the association with a specific syntax filter. Syntax highlighting vile performs syntax highlighting by running a syntax filter program which parses the buffer contents. Initially this was a separate program. However, to improve performance and avoid display problems, these syntax filters usually are compiled into the editor. Most of the syntax filters are implemented with lex (preferably flex), with the remainder in C to address irregular grammars such as Perl and Ruby. All of the syntax filters follow the same design: Read from an external file the color- and video-attribute information into a chained hash table, Parse the file according to the lexical rules, Find the corresponding color- and video-attribute information for each lexical element, and Write a marked-up copy of the file which is read by vile (via a pipe if the syntax filters are external programs, or via a function call if they are internal). vile paints the markup information on top of the buffer contents using in regions delimited by line and column numbers. The markup is not attached to the underlying buffer contents. To update the markup as the buffer is changed requires reanalysis. This is done automatically when the user pauses. History vile has been under continuous development since 1990. See also List of text editors Comparison of text editors References Further reading Review: vile editor is anything but Review: vile and Xvile ] External links William Totten's vile page vi Lovers Homepage vi Software Links alt.sources posting, June 1991 Free text editors Unix text editors OpenVMS text editors Windows text editors Emacs Termcap Terminfo Curses (programming library) Vi Software using the GPL license