Release of text editor Vim 8.2

After a year and a half of development took place text editor release I came 8.2, which is classified as a minor release, in which accumulated errors are fixed and single innovations are proposed.

vim code spreads under own copyleft license, which is compatible with the GPL, and allows you to use, distribute and rework the code without restrictions. The main feature of the Vim license is related to check-in - improvements implemented in third-party products must be transferred to the original project if the Vim maintainer considers these improvements worthy of attention and sends a corresponding request. By type of distribution, Vim belongs to Charityware, i.e. instead of selling the program or collecting donations for the needs of the project, the authors of Vim are asked to transfer any amount to charity if the user likes the program.

Π’ the new version:

  • Support for pop-ups has been implemented, which, along with text properties, was noted by plugin developers during a survey at VimConf 2018 as the most requested features that Vim lacks. Popups allow you to display messages, code snippets, and any other information on top of editable text. These windows can be highlighted in different ways, quickly opened and closed. The implementation of this functionality required a significant refinement of the previously used display mechanisms, as well as an extension of the API to provide work with pop-up windows from plugins.
  • Added the ability to define text properties, with which you can highlight pieces of text with color or highlight arbitrary areas. Text properties can be used in the form of an asynchronous text highlighting mechanism, an alternative to previously available template-based syntax highlighting capabilities. A special feature of text properties is that they are attached with their associated text and are retained even when new words are inserted before the selected text.
  • For a visual demonstration of the new features of Vim 8.2 prepared by a plug-in with a game that allows you to shoot sheep running across the screen. Running sheep are displayed using pop-ups, and coloring is implemented through text properties.

    Release of text editor Vim 8.2

  • To demonstrate the properties of the text, a plugin has been additionally published govim, used for syntax highlighting in Go programs by getting information about the semantics of the language from an external LSP server (Language Server Protocol). Popup windows in govim are used to provide contextual hints for name completion and to display function descriptions.
    Release of text editor Vim 8.2

  • A new ":const" command has been proposed to define variables that cannot be changed:

    const TIMER_DELAY = 400

  • Added the ability to define dictionaries with alphabetic keys without using quotes:

    let options = #{width: 30, height: 24}

  • The possibility of block assignments has been added, which simplifies the assignment of multiline pieces of text to variables:

    let lines =<< trim END
    line one
    line two
    END

  • Added the ability to build function chains when calling methods:

    mylist->filter(filterexpr)->map(mapexpr)->sort()->join()

  • The main composition includes the xdiff library, which made it possible to significantly improve the representation of the differences between different text options;
  • Added setting "modifyOtherKeys" to set extended key combinations
  • Added support for the ConPTY console, which allows you to achieve the display of all colors in the Windows 10 console;
  • The installer for Windows has been upgraded.

Additionally, it can be noted the preparation experimental branch of the editor Neovim 0.5. Neovim is a fork of Vim focused on increasing extensibility and flexibility. Within the framework of the project for more than five years held An aggressive overhaul of the Vim codebase that includes changes that make code easier to maintain, provide a means of separating labor between multiple maintainers, separate the interface from the base (the interface can be changed without touching the internals), and implement a new extensible plugin-based architecture. Plugins for Neovim are launched as separate processes, for interaction with which the MessagePack format is used.

Source: opennet.ru

Add a comment