Old school editor fans, rejoice: some two and a half years after version 8.2, Vim 9 is here with a much faster scripting language.
The existing scripting language, Vimscript, remains and will still work. Only scripts beginning with the line
vim9script will be handled differently. The syntax changes are relatively modest; the important differences are in things like local versus global variables and functions, and that functions defined with
:def will be compiled before they are run. This allows many errors to be caught in advance, but more significantly, compiled functions execute from 10× to 1000× faster.
Vim is the standard version of the classic
vi text editor on most Linux distros, and if there is one xNix editor that every xNix user should know, it’s Vi. There are easier editors, from the widely used GNU Nano to the author’s personal text-mode favorite Tilde, but if you are connected to an unfamiliar machine, whatever variant of Unix it’s running, the one full-screen text editor you can rely on being installed is Vi. (Yes, we know, ed is the standard editor. But
vi, and Vim started out as a Vi Imitation before it became Vi Improved.)
As such, many xNix users favor some variant of Vi above anything else. It is tiny, fast, powerful, and ubiquitous. This being the Unix world, there are of course multiple variants and forks of Vi. Perhaps the main other modernized Vi reimplementation, Elvis, hasn’t been updated in nearly two decades.
If modernization sounds suspicious, the original BSD Vi has been updated to create OpenVi, but it doesn’t support UTF8, although a descendant of Elvis called nvi offers that. There is also a fork of Vim itself called Neovim.
However, Vim is the most popular and widely used variant on Linux and on macOS. Making it faster and more powerful should please a lot of people. ®
The Reg FOSS desk has been using Vi and variants since the late 1980s and still hasn’t really got the hang of it, but don’t worry: we’re not Emacs fans either.