sponsor Vim development Vim logo Vim Book Ad

if you're using Vim 5

A huge number of new features have been added in Vim 6. A few major ones will be mentioned here. There are also a lot of minor improvements, details matter to the Vim developers.

The full list of new features can be found in the official documentation.

  • Vertically Split Windows

    Windows can now be split vertically. This provides great flexibility for displaying files in Vim. The example below shows the file explorer in the left window and an edited file in the right window. Double clicking on a file name in the file explorer edits that file in the right window. Double clicking on a directory name moves to that directory. You can have many splits at once, and edit files in each of them.

    vertically split windows

  • Vimdiff

    Edit two (or three or four) files and Vim will show the differences. Inserted and changed lines are highlighted. Ranges of lines without changes are folded away. This way you can quickly see what changed. There are commands to remove the differences.

    vimdiff

  • Folding

    A range of lines can be hidden, and one line displayed instead. This gives a quick overview of what a file contains. In the example below there is a fold for each C function. Most of them are closed and only show the name of the function. A fold can be opened by clicking on the + in the column on the left.

    There are several ways of folding: with markers in the file, based on indenting, manually or defined with an expression. This provides convenient folding for many different purposes.

    folding

  • User Manual

    With so many new features the documentation had to be enhanced to make it easier to learn using Vim. The user manual was written in such a way that you can start using Vim or learn to use a specific feature. There are lots of examples to make it easier to read and understand. Parts of the book Vi Improved - Vim by Steve Oualline were used. The user manual, like the book, is published under the Open Publication License.

    You can find the User Manual, along with other documentation, at VimDoc.

  • Plugins

    Since Vim scripting has become quite powerful, many users have started writing scripts. The new plugin feature makes it easy to start using such a script: Just drop it in the right directory.

    There are several types of plugins. Global plugins are used to add commands for all situations. The file explorer, mentioned in the example for vertical splits above, is actually implemented as a global plugin.

    Filetype plugins are used to do settings for a specific type of file. For example, the C filetype plugin sets the 'cindent' option; the "man" plugin sets up mappings to be able to jump to another manual page.

    A number of plugins are included in the distribution. The system administrator can add plugins for all users. And you can add your own personal plugins. The script repository provides a central place to share plugins.

  • Flexible Indenting

    Automatic indenting is now available for many languages. Several are included with the distribution. Just like with syntax highlighting, the indenting is defined in a Vim script. This allows you to add indenting for the language you are editing. You are invited to make your scripts available to be included in the Vim distribution.

  • Unicode

    There are many languages in the world, and many ways to encode the characters used in them. Unicode was designed to encode characters for all the languages commonly used in the world. This allows using several languages in the same file.

    Vim supports editing Unicode in the GUI version and in terminals that support UTF-8. Double-wide characters can be used, and up to two composing characters are supported.

    When reading a file, Vim can often detect how it is encoded and convert the text when necessary. UTF-8 files are edited without conversion. Other Unicode formats (16 bit and 32 bit) are converted internally. Conversion is also used to edit files in just about any encoding, using an external converter.

    Editing Unicode

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github