News

Nvim :help pages, generated from source using the tree-sitter-vimdoc parser.


Notable changes since Nvim 0.10
For changes in the previous release, see news-0.10.

BREAKING CHANGES IN HEAD news-breaking-dev

====== Remove this section before release. ======
The following changes to UNRELEASED features were made during the development cycle (Nvim HEAD, the "master" branch).

BREAKING CHANGES news-breaking

These changes may require adaptations in your config or plugins.

API

vim.rpcnotify(0) and rpcnotify(0) broadcast to ALL channels. Previously they would "multicast" only to subscribed channels (controlled by nvim_subscribe()). Plugins and clients that want "multicast" behavior must now maintain their own list of channels.
In the future, vim.rpcnotify() may accept a list of channels, if there is demand for this use-case.

DEFAULTS

]d-default and [d-default accept a count.
[D-default and ]D-default jump to the first and last diagnostic in the current buffer, respectively.

DIAGNOSTICS

vim.diagnostic.config() accepts a "jump" table to specify defaults for vim.diagnostic.jump().

EDITOR

The order in which signs are placed was changed. Higher priority signs will now appear left of lower priority signs.
hl-CurSearch now behaves the same as Vim and no longer updates on every cursor movement.
Moving in the buffer list using :bnext and similar commands behaves as documented and skips help buffers if run from a non-help buffer, otherwise it moves to another help buffer.

VIM SCRIPT

v:msgpack_types has the type "binary" removed. msgpackparse() no longer treats BIN, STR and FIXSTR as separate types. Any of these is returned as a string if possible, or a blob if the value contained embedded NUL:s.

EVENTS

TODO

LSP

TODO

LUA

API functions now consistently return an empty dictionary as vim.empty_dict(). Earlier, a lua-special-tbl was sometimes used.

OPTIONS

The 'statuscolumn' %l item can now be used as a number column segment that changes according to related options. It takes care of alignment, 'number', 'relativenumber' and 'signcolumn' set to "number". The now redundant %r item is no longer treated specially for 'statuscolumn'.

PLUGINS

TODO

TREESITTER

TODO

TUI

TODO

NEW FEATURES news-features

The following new features were added.

API

nvim__ns_set() can set properties for a namespace

DEFAULTS

Mappings:
grn in Normal mode maps to vim.lsp.buf.rename()
grr in Normal mode maps to vim.lsp.buf.references()
gra in Normal and Visual mode maps to vim.lsp.buf.code_action()
CTRL-S in Insert mode maps to vim.lsp.buf.signature_help()
Snippet:
<Tab> in Insert and Select mode maps to vim.snippet.jump({ direction = 1 }) when a snippet is active and jumpable forwards.
<S-Tab> in Insert and Select mode maps to vim.snippet.jump({ direction = -1 }) when a snippet is active and jumpable backwards.

EDITOR

On Windows, filename arguments on the command-line prefixed with "~\" or "~/" are now expanded to the user's profile directory, not a relative path to a literal "~" directory.
hl-PmenuMatch and hl-PmenuMatchSel show matched text in completion popup.

EVENTS

CompleteDone now sets the reason key in v:event which specifies the reason for completion being done.

LSP

Completion side effects (including snippet expansion, execution of commands and application of additional text edits) is now built-in.
vim.lsp.util.locations_to_items() sets end_col and end_lnum fields.
vim.lsp.buf.format() now supports passing a list of ranges via the range parameter (this requires support for the textDocument/rangesFormatting request).

LUA

TODO

OPTIONS

'completeopt' flag "fuzzy" enables fuzzy-matching during ins-completion.
'tabclose' controls which tab page to focus when closing a tab page.

PERFORMANCE

TODO

PLUGINS

EditorConfig
spelling_language property is now supported.

STARTUP

TODO

TERMINAL

The terminal now understands the OSC 52 escape sequence to write to the system clipboard (copy). Querying with OSC 52 (paste) is not supported.
hl-StatusLineTerm and hl-StatusLineTermNC define highlights for the status line in terminal windows.

TREESITTER

TODO

TUI

TODO

UI

TODO

CHANGED FEATURES news-changed

These existing features changed their behavior.
N/A

REMOVED FEATURES news-removed

These deprecated features were removed.
N/A

DEPRECATIONS news-deprecations

Main
Commands index
Quick reference