已棄用

Nvim :help 頁面,使用 tree-sitter-vimdoc 解析器,從 來源 產生


Nvim
以下列出的項目已棄用:它們將在未來移除。不應在新腳本中使用它們,舊腳本應更新。

已棄用的功能

在 0.11 版本中已棄用 deprecated-0.11

API

nvim_subscribe() 外掛程式必須維護它們自己的「多播」頻道列表。
nvim_unsubscribe() 外掛程式必須維護它們自己的「多播」頻道列表。

LUA

vim.region() 請改用 getregionpos()
vim.highlight 已重新命名為 vim.hl
vim.validate(opts: table) 請使用形式 1。請參閱 vim.validate()

診斷

vim.diagnostic.goto_next() 請改用 vim.diagnostic.jump() 並搭配 {count=1, float=true}
vim.diagnostic.goto_prev() 請改用 vim.diagnostic.jump() 並搭配 {count=-1, float=true}
vim.diagnostic.get_next_pos() 請改用 vim.diagnostic.get_next() 的回傳值的 "lnum" 和 "col" 欄位。
vim.diagnostic.get_prev_pos() 請改用 vim.diagnostic.get_prev() 的回傳值的 "lnum" 和 "col" 欄位。
各種函式使用的 "win_id" 參數已被棄用,請改用 "winid" winid
vim.diagnostic.JumpOpts 的 "cursor_position" 參數已重新命名為 "pos"

TREESITTER

TSNode:child_containing_descendant() 請改用 TSNode:child_with_descendant();除了它可以回傳後代本身之外,其餘都相同。

LSP

vim.lsp.util.jump_to_location 請改用 vim.lsp.util.show_document() 並搭配 {focus=true}
vim.lsp.buf_request_all error 鍵在處理程式的結果參數中已重新命名為 err
vim.lsp.with() 將設定傳遞至 'vim.lsp.buf.*' 中對應的函式。
vim.lsp.handlers 不再支援從客戶端到伺服器的回應處理程式。僅支援從伺服器到客戶端的請求/通知處理程式。

在 0.10 版本中已棄用 deprecated-0.10

診斷

使用 :sign-definesign_define() 設定 diagnostic-signs。請改用 vim.diagnostic.config() 的 "signs" 鍵。
vim.diagnostic 函式
舊版簽名:vim.diagnostic.enable(buf:number, namespace:number)

選項

"term_background" UI 選項 ui-ext-options 已棄用,且不再填入。背景顏色偵測現在由 Nvim 核心在 Lua 中執行,而不是由 TUI 執行。

TREESITTER

在 0.9 版本中已棄用 deprecated-0.9

LUA

在 0.8 或更早版本中已棄用

命令

:rv :rviminfo已棄用,是 :rshada 命令的別名。
:wv :wviminfo已棄用,是 :wshada 命令的別名。

環境變數

已棄用 的方式,用於
設定伺服器名稱(請改用 --listenserverstart()
取得伺服器名稱(請改用 v:servername
偵測父 Nvim(請改用 $NVIM
如果已指定 --listen,則會忽略此變數。
除非明確由 "env" 選項指定,否則會被 terminaljobstart() 取消設定。範例
call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername  } })

事件

BufCreate 請改用 BufAdd
EncodingChanged 從未觸發;'encoding' 永遠是 "utf-8"。
FileEncoding 從未觸發;等同於 EncodingChanged
GUIEnter 從未觸發;請改用 UIEnter
GUIFailed 從未觸發。

按鍵碼

<MouseDown> 請改用 <ScrollWheelUp>
<MouseUp> 請改用 <ScrollWheelDown>

函數

buffer_exists() bufexists() 的過時名稱。
buffer_name() bufname() 的過時名稱。
buffer_number() bufnr() 的過時名稱。
file_readable() filereadable() 的過時名稱。
highlight_exists() hlexists() 的過時名稱。
highlightID() hlID() 的過時名稱。
inputdialog() 請改用 input()
jobclose() chanclose() 的過時名稱
jobsend() chansend() 的過時名稱
last_buffer_nr() bufnr("$") 的過時名稱。
rpcstart() 請改用帶有 {'rpc': v:true}jobstart()
rpcstop() 請改用 jobstop() 停止任何工作,或使用 chanclose(id, "rpc") 關閉 RPC 通訊而不停止工作。 使用 chanclose(id) 關閉任何 socket。

高亮顯示

LSP 診斷

對於以下每個函數,請改用 vim.diagnostic 中的對應函數(除非另有說明)。 例如,請改用 vim.diagnostic.get(),而不是 vim.lsp.diagnostic.get()
以下函數已棄用,沒有替代方案。這些函數已在內部移動,不再作為 API 的一部分公開。 請改用 vim.diagnostic.config()vim.diagnostic.show()

LSP 函數

vim.lsp.buf.server_ready() 請根據您的用例改用 LspAttach。「伺服器就緒」不是 LSP 規範的一部分,因此 Nvim LSP 用戶端無法有意義地實作它。「就緒」是模稜兩可的,因為
語言伺服器可能會完成分析工作區,但編輯總是會重新觸發分析/建置。
語言伺服器可以在處理變更時服務某些請求。
vim.lsp.buf_get_clients() 請改用帶有 {buffer=bufnr}vim.lsp.get_clients()
vim.lsp.buf.formatting() 請改用帶有 {async=true}vim.lsp.buf.format()
vim.lsp.buf.formatting_sync() 請改用帶有 {async=false}vim.lsp.buf.format()

LUA

vim.register_keystroke_callback() 請改用 vim.on_key()

正常模式命令

]f [f 與 "gf" 相同。

選項

'fe' Vim 6.0 之前的 'fenc'+'enc';不再使用。
'highlight' 'hl' 無法變更內建 highlight-groups 的名稱。
'langnoremap' 已棄用,是 'nolangremap' 的別名。
'sessionoptions' 旗標 "unix"、"slash" 會被忽略並永遠啟用。
'viewoptions' 旗標 "unix"、"slash" 會被忽略並永遠啟用。
'viminfo' 已棄用,是 'shada' 選項的別名。
'viminfofile' 已棄用,是 'shadafile' 選項的別名。
'paste' 'nopaste' 僅貼上即可。™ 'paste' 選項已過時:當您使用終端機或 GUI 的貼上功能貼上文字時(CTRL-SHIFT-v、CMD-v (macOS)、滑鼠中鍵…),會自動處理 paste。啟用「貼上模式」
在插入模式、命令列模式中停用映射。
停用縮寫。
'formatoptions' 視為空。
停用這些選項的效果

UI 擴充

ui-wildmenu 改用 ui-cmdlineui-popupmenu。由 ext_wildmenu ui-option 啟用。發出這些事件
["wildmenu_show", items]
["wildmenu_select", selected]
["wildmenu_hide"]
term_background 未使用。終端機背景顏色現在由 Nvim 核心直接偵測,而非 TUI。

變數

b:terminal_job_pid 改用 jobpid(&channel)
b:terminal_job_id 改用 &channel。若要在非目前的緩衝區中存取
Lua: vim.bo[bufnr].channel
Vimscript: getbufvar(bufnr, '&channel')
主要
命令索引
快速參考