Deprecated

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


Nvim
The items listed below are deprecated: they will be removed in the future. They should not be used in new scripts, and old scripts should be updated.

Deprecated features

API

nvim_buf_clear_highlight() Use nvim_buf_clear_namespace() instead.
nvim_buf_set_virtual_text() Use nvim_buf_set_extmark() instead.
nvim_command_output() Use nvim_exec2() instead.
nvim_execute_lua() Use nvim_exec_lua() instead.
nvim_get_hl_by_name() Use nvim_get_hl() instead.
nvim_get_hl_by_id() Use nvim_get_hl() instead.
nvim_exec() Use nvim_exec2() instead.
nvim_get_option_info() Use nvim_get_option_info2() instead.
nvim_buf_get_option() Use nvim_get_option_value() instead.
nvim_buf_set_option() Use nvim_set_option_value() instead.
nvim_get_option() Use nvim_get_option_value() instead.
nvim_set_option() Use nvim_set_option_value() instead.
nvim_win_get_option() Use nvim_get_option_value() instead.
nvim_win_set_option() Use nvim_set_option_value() instead.

COMMANDS

:rv :rviminfo Deprecated alias to :rshada command.
:wv :wviminfo Deprecated alias to :wshada command.

ENVIRONMENT VARIABLES

$NVIM_LISTEN_ADDRESS
Deprecated way to:
set the server name (use --listen or serverstart() instead)
get the server name (use v:servername instead)
detect a parent Nvim (use $NVIM instead)
Ignored if --listen is given.
Unset by terminal and jobstart() unless explicitly given by the "env" option. Example:
call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername  } })

EVENTS

BufCreate Use BufAdd instead.
EncodingChanged Never fired; 'encoding' is always "utf-8".
FileEncoding Never fired; equivalent to EncodingChanged.
GUIEnter Never fired; use UIEnter instead.
GUIFailed Never fired.

KEYCODES

<MouseDown> Use <ScrollWheelUp> instead.
<MouseUp> Use <ScrollWheelDown> instead.

FUNCTIONS

buffer_exists() Obsolete name for bufexists().
buffer_name() Obsolete name for bufname().
buffer_number() Obsolete name for bufnr().
file_readable() Obsolete name for filereadable().
health#report_error vim.health.report_error() Use vim.health.error() instead.
health#report_info vim.health.report_info() Use vim.health.info() instead.
health#report_ok vim.health.report_ok() Use vim.health.ok() instead.
health#report_start vim.health.report_start() Use vim.health.start() instead.
health#report_warn vim.health.report_warn() Use vim.health.warn() instead.
highlight_exists() Obsolete name for hlexists().
highlightID() Obsolete name for hlID().
inputdialog() Use input() instead.
jobclose() Obsolete name for chanclose()
jobsend() Obsolete name for chansend()
last_buffer_nr() Obsolete name for bufnr("$").
rpcstop() Use jobstop() instead to stop any job, or chanclose(id, "rpc") to close RPC communication without stopping the job. Use chanclose(id) to close any socket.

HIGHLIGHTS

hl-VertSplit Use hl-WinSeparator instead.

LSP DIAGNOSTICS

For each of the functions below, use the corresponding function in vim.diagnostic instead (unless otherwise noted). For example, use vim.diagnostic.get() instead of vim.lsp.diagnostic.get().
vim.lsp.diagnostic.clear() Use vim.diagnostic.hide() instead.
vim.lsp.diagnostic.disable()
vim.lsp.diagnostic.display() Use vim.diagnostic.show() instead.
vim.lsp.diagnostic.enable()
vim.lsp.diagnostic.get()
vim.lsp.diagnostic.get_all() Use vim.diagnostic.get() instead.
vim.lsp.diagnostic.get_count() Use vim.diagnostic.get() instead.
vim.lsp.diagnostic.get_line_diagnostics() Use vim.diagnostic.get() instead.
vim.lsp.diagnostic.get_next()
vim.lsp.diagnostic.get_next_pos()
vim.lsp.diagnostic.get_prev()
vim.lsp.diagnostic.get_prev_pos()
vim.lsp.diagnostic.get_virtual_text_chunks_for_line() No replacement. Use options provided by vim.diagnostic.config() to customize virtual text.
vim.lsp.diagnostic.goto_next()
vim.lsp.diagnostic.goto_prev()
vim.lsp.diagnostic.redraw() Use vim.diagnostic.show() instead.
vim.lsp.diagnostic.reset()
vim.lsp.diagnostic.save() Use vim.diagnostic.set() instead.
vim.lsp.diagnostic.set_loclist() Use vim.diagnostic.setloclist() instead.
vim.lsp.diagnostic.set_qflist() Use vim.diagnostic.setqflist() instead.
vim.lsp.diagnostic.show_line_diagnostics() Use vim.diagnostic.open_float() instead.
vim.lsp.diagnostic.show_position_diagnostics() Use vim.diagnostic.open_float() instead.
The following are deprecated without replacement. These functions are moved internally and are no longer exposed as part of the API. Instead, use vim.diagnostic.config() and vim.diagnostic.show().
vim.lsp.diagnostic.set_signs()
vim.lsp.diagnostic.set_underline()
vim.lsp.diagnostic.set_virtual_text()

LSP FUNCTIONS

vim.lsp.buf.range_code_action() Use vim.lsp.buf.code_action() with the range parameter.
vim.lsp.util.diagnostics_to_items() Use vim.diagnostic.toqflist() instead.
vim.lsp.util.set_qflist() Use setqflist() instead.
vim.lsp.util.set_loclist() Use setloclist() instead.
vim.lsp.buf_get_clients() Use vim.lsp.get_active_clients() with {buffer = bufnr} instead.
vim.lsp.buf.formatting() Use vim.lsp.buf.format() with {async = true} instead.
vim.lsp.buf.formatting_sync() Use vim.lsp.buf.format() with {async = false} instead.
vim.lsp.buf.range_formatting() Use vim.lsp.formatexpr() or vim.lsp.buf.format() instead.

TREESITTER FUNCTIONS

vim.treesitter.language.require_language() Use vim.treesitter.language.add() instead.
vim.treesitter.get_node_at_pos() Use vim.treesitter.get_node() instead.
vim.treesitter.get_node_at_cursor() Use vim.treesitter.get_node() and TSNode:type() instead.
vim.treesitter.query.get_query() Use vim.treesitter.query.get() instead.

LUA

vim.register_keystroke_callback() Use vim.on_key() instead.
vim.pretty_print() Use vim.print() instead.

NORMAL COMMANDS

]f [f Same as "gf".

OPTIONS

cpo-< :menu-<special> :menu-special :map-<special> :map-special <> notation is always enabled.
'gdefault' Enables the :substitute flag 'g' by default.
'fe' 'fenc'+'enc' before Vim 6.0; no longer used.
'highlight' 'hl' Names of builtin highlight-groups cannot be changed.
'langnoremap' Deprecated alias to 'nolangremap'.
'sessionoptions' Flags "unix", "slash" are ignored and always enabled.
'vi'
'viewoptions' Flags "unix", "slash" are ignored and always enabled.
'viminfo' Deprecated alias to 'shada' option.
'viminfofile' Deprecated alias to 'shadafile' option.
'paste' 'nopaste' This option is obsolete; paste is handled automatically. Enables "paste mode":
mappings in Insert mode and Command-line mode are disabled
abbreviations are disabled
'autoindent' is reset
'expandtab' is reset
'formatoptions' is used like it is empty
'revins' is reset
'ruler' is reset
'showmatch' is reset
'smartindent' is reset
'smarttab' is reset
'softtabstop' is set to 0
'textwidth' is set to 0
'wrapmargin' is set to 0 These options keep their value, but their effect is disabled:

UI EXTENSIONS

ui-wildmenu Use ui-cmdline with ui-popupmenu instead. Enabled by the ext_wildmenu ui-option. Emits these events:
["wildmenu_show", items]
["wildmenu_select", selected]
["wildmenu_hide"]

VARIABLES

b:terminal_job_pid PID of the top-level process in a :terminal. Use jobpid(&channel) instead.
Main
Commands index
Quick reference