Home / News / Vim Hackers Favorite Text Editor 8.0 Released Gets an Update after 8 Years

Vim Hackers Favorite Text Editor 8.0 Released Gets an Update after 8 Years

After more than a decade, the vi, or Vim, editor is getting a major update.

Vim 8.0 released

Vim has long been an important tool for programmers and anyone else who needs a highly configurable text editor in Linux. And now version 8.0 of Vim has been released, according to an announcement in Google Groups.

Today, most of us use graphical text editors, but many developers still use vi, or its modern clone Vim, or Emacs, and they’re as passionate about their choice of editors as ever. I’m not sure why since vi is clearly the better choice.

After almost 40 years of development, there’s not a lot left to be improved in Vim. But, after a decade, some things needed changing. So it is that Vim 8 has just been released.

This release is not just obscure bug fixes. It also includes significant improvements. These are:

Asynchronous I/O support: Vim can now exchange messages with other processes in the background via channels. This makes it possible to have servers do work and send back the results to Vim.

Vim also now supports JavaScript Object Notation (JSON). Since JSON is widely supported and can easily be used for inter-process communication, this makes writing a server in any language much easier. It also makes it possible to build very complex plugins, written in any language and running in a separate process.

Jobs: Vim can now start a job, communicate with it and stop it. This is very useful to run a process for completion, syntax checking, etc. Channels are used to communicate with the job. Jobs can also read from or write to a buffer or a file.

Timers: Vim also now supports asynchronous timers. These can fire once or repeatedly and invoke a function to do any work.

Plugin Package support: To keep the ever increasing number of plugins in check, plugins manageable package support has been added. This is a convenient way to get one or more plugins, drop them in a directory and possibly keep them updated. Vim will automatically load them, or only when desired.

Window IDs: I’ve been waiting for this one for decades. Previously, Vim windows could only be accessed by their number. And every time a window would open, close, or move, that number changes. Each window now has a unique ID, so that they are easy to find.

Wrapping lines with indent: The ‘breakindent’ option has been added to be able to wrap lines without changing the amount of indent.

Now Vim has the ability to talk to the other background processes. Thanks to this addition, now servers can do their work and send back the results to Vim.

Vim 8.0 widely supports JSON and it can be used for inter-process communication. It allows one to write a complex plugin in any programming language.

This recent release also supports timers, jobs, partials, lambdas, packages, closures, new style testing, etc.

Now, previously opened windows can only be accessed by their number. As each of them has a unique ID, they can be found easily.

Vim 8.0 comes with the support for GTK+3 GUI. Configure, however, chooses GTK+2 if both are available.

This release also adds the ‘renderoption’ to allow switching on DirectX support on Windows operating system. It’s focused on DirectWrite support for better text rendering.

Another important change comes in the form of use of timestamps by Viminfo to always keep the most recent items.

For the complete list of changes, find the changelog here.

Bram Moolenaar Post on Google Group

Hello Vim users!

Announcing:  Vim (Vi IMproved) version 8.0

This the first major Vim release in ten years.  There are interesting
new features, many small improvements and lots of bug fixes.

Among the new features are:
– Asynchronous I/O support, channels, JSON
– Jobs
– Timers
– Partials, Lambdas and Closures
– Packages
– New style testing
– Viminfo merged by timestamp
– GTK+ 3 support
– MS-Windows DirectX support

Once you have installed Vim 8.0 you can find details about the changes
since Vim 7.4 with:
:help version8
Or view it online:
https://raw.githubusercontent.com/vim/vim/master/runtime/doc/version8.txt

Gratitude
———

If you like Vim, please consider helping poor children in the south of
Uganda: http://iccf-holland.org

Where to get it
—————

The best way to obtain the latest Vim is using Git.  Summary:
git clone https://github.com/vim/vim.git
More information here: http://www.vim.org/git.php

For MS-Windows most of you will want the self-installing executable:
ftp://ftp.vim.org/pub/vim/pc/gvim80.exe

Information about which files to download for what system:
http://www.vim.org/download.php

A list of mirror sites can be found here:
http://www.vim.org/mirrors.php

The files available for download:

UNIX:
sources + runtime files, bzip2 compressed:
ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2

VARIOUS:
help files converted to HTML:
ftp://ftp.vim.org/pub/vim/doc/vim80html.zip

MS-WINDOWS one-size-fits-all:
Self-installing, includes all runtime files, loads libraries dynamically:
ftp://ftp.vim.org/pub/vim/pc/gvim80.exe

MS-WINDOWS separate files:
Runtime files:
ftp://ftp.vim.org/pub/vim/pc/vim80rt.zip
GUI binary for Windows 95/98/NT/2000/XP/7:
ftp://ftp.vim.org/pub/vim/pc/gvim80.zip
GUI binary with OLE support:
ftp://ftp.vim.org/pub/vim/pc/gvim80ole.zip
Console version for Windows NT/2000/XP/7:
ftp://ftp.vim.org/pub/vim/pc/vim80w32.zip
Sources for PC (with CR-LF):
ftp://ftp.vim.org/pub/vim/pc/vim80src.zip

For debugging:
ftp://ftp.vim.org/pub/vim/pc/gvim80.pdb
ftp://ftp.vim.org/pub/vim/pc/gvim80ole.pdb
ftp://ftp.vim.org/pub/vim/pc/vim80w32.pdb

AMIGA:
Only runtime and sources are provided, no binary:
ftp://ftp.vim.org/pub/vim/amiga/vim80rt.tgz
ftp://ftp.vim.org/pub/vim/amiga/vim80src.tgz

Omitted in this version are:
– The 16-bit DOS, OS/2 and Amiga versions, these are obsolete.
– The 32-bit console version for MS-DOS/Windows 95/98
– The 16 bit MS-Windows version

Mailing lists
————-

For user questions you can turn to the Vim mailing list.  There are a
lot of tips, scripts and solutions.  You can ask your Vim questions, but
only if you subscribe.  See http://www.vim.org/maillist.php#vim

If you want to help Vim development, discuss new features or get the
latest patches, subscribe to the vim-dev mailing list.  See
http://www.vim.org/maillist.php#vim-dev

Subject specific lists:
Macintosh issues:  http://www.vim.org/maillist.php#vim-mac

Before you ask a question you should search the archives, someone may
already have given the answer.

Reporting bugs
————–

Send them to <vim…@vim.org>.  Please describe the problem precisely.
All the time spent on answering mail is subtracted from the time that is
spent on improving Vim!  Always give a reproducible example and try to
find out which settings or other things influence the appearance of the
bug.  Try starting without your own vimrc file: “vim -u NONE”.  Try
different machines if possible.  See “:help bugs” in Vim.

Alternatively, create an issue at github and/or a pull request.
Please try to write a test that reproduces the problem and will pass
once it is fixed. See https://github.com/vim/vim

Happy Vimming!


“Marriage is a wonderful institution…
but who wants to live in an institution?”
– Groucho Marx

/// Bram Moolenaar — [email protected]http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features — http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language — http://www.Zimbu.org        ///
\\\            help me help AIDS victims — http://ICCF-Holland.org    ///

About Jay Kumar Ryan

Check Also

Windows 10 S Launched by Microsoft Takes on Chrome OS

Microsoft Launches Windows 10 S Microsoft is launching a new Surface-branded device today: the Surface …

Leave a Reply

%d bloggers like this: