vim 5.1 - at home on many platforms Extended Standard Garry Glendown vim has had a couple years of developement. In this time, the vi-imitator became the "improved vi". The current version 5.1 includes features that probably let vi(m)-enthusiasts' eyes glow and that tempt doubters to change to it. One big advantage of free unix-tools over commercial software is availability. While applications like MS-Word or Corel Draw hardly ever make it to other operating systems, programs like vim exist on many platforms - usualy without any differences in the number of functions. Users can currently - apart from 16 Unix-derivatives - use vim on Amiga, Mac, Archimedes, Atari, Mint, BeOS, MSDOS, OS/2, QNX as well as Windows (3.1/95/NT). For hints on which binary distributions exist and for which compilation of sources is required, see the web-site www.vim.org. Vim is distributed as charity-ware, which means the author asks for support of orphans in Uganda. Contrary to common belief vim has long since left the realm of pure console/ASCII-applications. Under Unix as well as under other operating systems graphical versions are available. With Windows 95/NT4 this is essential, as the console-support by Microsoft is more than poor. Comfortable Additions Many programmers and power users of vim have long been missing it: Syntax highlighting (see picture), which is commonly available in the PC-area. While applications like Visual C++ or Delphi usually limit their abilities of syntax recognition to their own language, vim presents itself a lot more flexible. Currently there are definitions for about 50 different file formats like C, Pascal, Shell scripts or TeX, which make working on the screen easier. Extending the definitions by own structures or creating new formats can be done anytime. Vim makes this easier by providing many functions that - e.g. - visualize errors in bracket placement. The second big extension is its own script language. It allows users to create new functions inside vim, which up to now have only been - very limited - available through the map-command. The function elements are simple and not complex at all; anyway, there are many dozens of internal instructions for program flow control, tests and modification available, making even complex functions possible. Autocommands allow automatic execution of operations or function under certain circumstances (e.g. loading files or quitting vim). This function is used by vim to load syntax definitions for highlighting when loading files. By using scripts, features like creation of backup copies of files once a day or once per hour can be implemented. If the features of vim are not numerous enough, even more complex operations can be realized using the available Perl- and Python-interface. Function can be written using operations for text modification that are made available by vim. Not quite new but worth mentioning non the less is the command line history and editing. This reduces turn-around times in edit/compile cycles. Likewise, working without multiple views or multiple files at one time inside vim is hardly imaginable for programmers anymore. View size can be altered on a per-view-basis, e.g. to show more lines of a "more important" file. A "life-saver" for users that don't even want to start understanding (much less using) cryptic things like "5yy" or "d10G" are visual blocks made available by vim. Using these, text can be selected either character-, line- or blockwise and then modified using the regular functions. Especially helpful is the vertical block function, e.g. to modify tables - a function that is far from being widely available even on high-prized editors. A description of the many little things that have made an efficient development tool out of a simple text editor (if vi can be called that at all) has to be omitted due to space limitations. Just alone the large number of configuration options (version 5.1 has more than 170 settings) gives an impression of what all is possible with this editor. People interested in vim should take the time to read the approximately 1MB of text which come with the program as documentation. Even when only using a fraction of VIM-functions, the user will quickly get used to and appreciate the advantages of this editor. (C) 1998 Heise-Verlag, Hannover/Germany; translation by G.Glendown Published in: IX Magazin 9/1998, page 67 Translation made available for distribution on vim mailing list and vim archive distribution with permission from Heise Verlag